Adding support for restarting servers

Closes #578

Server.stop now supports an options object with a timeout property.  The server will now force a shutdown after 5 seconds by default, instead of the existing 2 minute socket timeout.

To restart run 
`kill -s SIGUSR2 [pid]`