Set bufferedProcess to null on process exit

This prevents calling kill block when closing the view, as
BufferedProcess.process is not autmatically nullified.
Send SIGINT to running process and all its children

This fixes the problem with Go apps not being closed properly, as
only the "go run" process was killed and the application itself
was running in the background (possibly) infinitely.