Propose a new way to terminate child processes.

- why is a period of only 1/10th of a second deemed appropriate?
  when allowing a child process to cleanly exit, we should allow
  a far longer duration (2.5s).
- why must we sleep for that full duration? we should periodically
  check for, and return immediately *up to* such duration.
- why must we sleep after SIGCONT? Presumably this is for the rare
  occasion where a child process has received SIGSTOP (^Z) -- we
  certainly don't expect it to exit afterwards except it very rare
  cases.
- why is SIGTERM never sent?  This is the default signal sent when
  using kill(1) and is the most appropriate signal to send other
  than SIGHUP.  SIGHUP for many daemon processes means "reload
  configuration" or restart -- but for terminal programs means
  "Your controlling program has terminated" -- if you're using a
  program like nohup that would be ignored.