If we are restarting the daemon, such as to upgrade the executable
to a new version, we should allow existing SSH connections to drain
out of the old JVM while bringing up the new JVM alongside of it,
and having new connections go to the new JVM.
The right way to do this is to bring up the new JVM alongside of
the old one, while the old one still has the listen sockets open.
When the new JVM is ready to service requests, it opens the listen
sockets with SO_REUSEADDR set, but doesn't start accept connections
until it receives an ACK from the old JVM that the old JVM has closed
the listen sockets.
This is complicated by the fact that both of our listen sockets are
owned by external 3rd party code, Jetty and MINA SSHD.