Test mux.Stop() behaviour; inc additional helper code

In the process of writing this test, noted that the connection we are
making to the local listener (rather than via the CDN) was naturally
not affected by the 'close connection' request internal to the Stop()
method.

I have as a result added code to also process a close connection request
on any local client handler. I felt this was best placed in the Stop() logic
itself, rather than in the test, since it potentially will be necessary for
other local-only tests.
Add confirmation that we served the close request

If a higher-level server is left running, the CDN will send
the request to that rather than our server. Hence, our server
will not send a Connection: close, and the whole backend system
is in an inconsistent state.

This ensures that if we do not receive the expected request, we
bail out with an error indicating that we must stop higher level
servers first.