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.


err.Errors() is what we need to use, updating...