ruby-2.0 can't have a mutex inside a trap context

For a simple example see https://bugs.ruby-lang.org/issues/7917.  Trying to take a mutex inside of a trap signal works if you are in a sepaarate Thread, so createa a separate thread for it.  Also, move shutdown to the end of the shutdown! method, since we're spawning a new thread, the trap context won't wait for shutdown! to complete.