Double check that the middle child really didn't start up properly.
Add the extra requires that we need.
Add a test that shows that a frozen child doesn't stop a service from being able to stop.
Adding tests for children failing and freezing during init.
Add some better error handling.
Return an error message to the parent when a failure occurs during initialisation.
Revert the silly attempts to return an error message when we're about to die. It is too dicey as to whether the response will even get through, and not worth the effort to make it reliable.
Make the echoing of stderr an optional feature (off by default). It is useful for debugging, especially if you don't have log files set up and stuff. But it is a bit confusing, and requires extra threads.
Fixed some timing issues with the tests.