Replace keepalives with a check if the parent pid is still running.

Downsides:
* Doesn't catch the case where the parent is CPU-hogging (but maybe we
  don't want to catch that case anyway, since the bundler not yielding
  is what's causing #2536).
* Could be fooled by pid re-use, i.e. if another process comes up and
  takes the parent process's place before the child process dies.

Untested so far because I haven't been able to actually kill a parent
process in such a way that the child stays alive.
Add test for runner process being SIGKILLed.
Comments from nim, ben
Merge branch 'kill-keepalives' into devel