ensure all child processes receive kill message on exit

The sink is responsible for sending a kill message to the dispatcher (and workers) but when the suite experiences a failure, exit is called without sending that kill message.  The kill message is placed in an ensure block so that the kill message is sent in both the 'all tests passed' case and the 'test failed' case.

The code added for creating a scenario is... maybe not so cool... but it demonstrates the failure without the ensure block and success with that block.  Maybe child-pids shouldn't be part of the flatware options though.