graceful restart: reuse listening sockets, stagger child process restarts

* reuse listening sockets if address and port match
* stagger the graceful exit of child processes, conf command: GracefulExitDelay

see the descriptions of the commits for explanations and rationales