Server: Add shutdown channel to indicate a shutdown in progress
Server: Add shutdown channel to indicate a shutdown in progress

This is used to ignore errors from calling Accept on a closed socket
without matching error strings. Currently tests fail rarely on Go 1.9
because the net.errClosing text has changed. Previously it was: "use
of closed network connection". It is now: "use of closed file or
network connection"

If we are shutting down, we ignore errors from Accept. This is the
same approach that http.Shutdown takes (see net/http.Server.Serve)

evanj/veneur,stripe/veneur,stripe/veneur,gphat/veneur,evanj/veneur,gphat/veneur,evanj/veneur,gphat/veneur