Improve handling of forked processes in tests.

Closes #4277
- Increase the wait time for forked processes to spin up.
- If we give up on waiting for a forked process, send it a
  kill signal so if it comes alive later it doesn't sit in the
  background forever.
- Fail fast if test setup fails instead of waiting for the timeout.
Merge pull request #4371 from jaswilli/fork-timeout

Improve handling of forked processes in tests.