Graceful term (for master)

If Worker#graceful_term is enabled, SIGTERM waits for a job to complete
before exiting (just like SIGQUIT).

Worker#graceful_term defaults to ENV['GRACEFUL_TERM'].

This makes it possible to use resque with runit/daemontools without
resorting to a wrapper script.

* [x] Fix merge conflicts
* [x] Port legacy tests