Add support for seamless re-execs without lost requests or requests sent to old processes

... parent stops listening and lingers for ten seconds handling slow requests before giving up, while the child picks up the listening socket immediately and continues serving requests.