alphagov/router — pull request #80 by alext (2014-12-10 16:46:17+00:00)
Title: Support for zero downtime restarts

This uses [tablecloth](http://godoc.org/github.com/alext/tablecloth) to add support for reloading the application
without dropping any requests. The restart will additionally pick up a
new version of the binary if it has changed (ie when deploying)

This has involved switching to use a `sync.WaitGroup` to block the main
process once the servers have started. Tablecloth requires that the
main process exits once all the ListenAndServe calls return.