Kill unresponsive children

Starting this pull request a bit early to get input.

I built a simple system to get the `pid` back from child processes, then modified the `stopChild` and `childTimeout` methods to force kill timed out processes. This works in some cases, but concurrency testing causes some timeouts to never be called, which leaves maxed-out processes in its wake. However, it does seem to be spawning new workers when old ones become unresponsive...