Shared contexts for graceful and ungraceful shutdown.
Move shared contexts into describe that uses them.

We can move out if other things use later.
Cleanup some of the shutdown stuff.

* add a boolean method for performing, stub it instead of setting ivar
* wrap up sending terminate signal stuff into method
Inline Worker#perform as it is only used once now.
Just trap the two signals we need rather than array each.
Merge pull request #73 from bkeepers/clean-shutdown

Clean Shutdown