Improve cleanup after detaching heaptrack
We now stop heaptrack explicitly via GDB before breaking the pipe.
This improves the stability of the unload process of heaptrack
after runtime-injection. It is still somewhat shaky though. I still
see crashes on shutdown of the debuggee now, long after heaptrack
was stopped. Similarly, I see tons of issues when I try to unload
libheaptrack_inject via __libc_dlclose, so I'm keeping the library
loaded for now.
I've added an explicit warning now to the `-p` option, saying that
runtime-attaching is unstable and can crash the debuggee.
BUG: 377143