Fix Issue #304

This is currently a WIP.  Today I managed to get the major pieces of it in place.  I am not yet passing tests, but the server starts.
So if we fail to cleanly shutdown in 30s, we force kill the process? Is there a reason for that?