Have run! handle shutdown.  Refactor the run! method some.
Merge branch 'deadlock-fix-for-ruby-2.0'