Stoppable HTTP Servers

This adds support for stopping a given HTTP Listener, ready for use in the Failover tests. 

Two steps are required due to Varnish/Edge keeping persistent connections open:

* Close the listener, preventing any new connections.
* Switch the handler to return 'Connection: close' on subsequent requests. Varnish respects this and closes the connection.


I think this should be a method on the `CDNServeMux` struct so that you can do `originServer.Stop()`. That would also mean that we don't have to export (upper-case letter) the `listener` field, which isn't much use by itself.