Attempt to kill workers once per request

This proposed change attempts to kill workers once per request. The reason for this is that the `QUIT` signal tells a Unicorn worker to shut down gracefully. Previously, `WorkerKiller.kill_self` would send the `QUIT` signal, then tell the worker to loop until it died. This loop prevented graceful shutdowns of the worker.

My first solution for this was to either fork the process (or use a `Thread`) and call `Process.kill :QUIT, worker_pid` from there, but this solution seems more elegant. In general Unicorn workers are good about gracefully shutting down when they receive a `QUIT` (is there significant evidence of them not?), so this solution attempts to send a `QUIT` first, and then escalates from there on each following request.

It's a somewhat significant change and a version bump, so I thought I'd open it for discussion briefly before merging and releasing.