Add quiesce functionality to enable zero-downtime deploys

This lets us fork/exec new code, have the original code allow the existing clients to finish but block new connections, while the new code starts accepting connections.

We still need to write the signal handling and fork/exec code into the daemon, but this provides enough functionality that it's possible to do zero-downtime deploys unicorn style.

cc @github/systems