Ensure that child processes of test process don't hold things up

If child processes of a test process are allowed to live for too long, we need
to be able to kill them so they don't block reading from pipes. We also kill
them when the test process is done because we have all the info we need then.