Handle signal to fork new server
Parent exiting on fork.

Also handled leaking file descriptors
Use SIGHUP instead of USR2 for reload

That's what upstart sends by default
Use sysdall.Dup to clean CloseOnExec flag

Saves messing with low-level syscalls
Gracefully exit parent process when forking.

Waits for existing connections to be closed before exiting.