Remove a TestServer shutdown race condition.

Counted after 14 cpantesters.org failures of the form "Failed test
'first request honored asynchronously'".  Added detailed error
information to the failure.  If it happens again, I'll be better
prepared to fix it.

Stopped relying on the order of first/second connection callbacks.
Previously, if the second fired first, we'd shut down the TestServer
too early.  The first connection would then fail because.

Meanwhile, always shutdown the connection manager (not just after the
second response).  Each session has its own, and they both need to go.
Otherwise the program waits the obligatory connection pool timeout.
Resolve most bind() conflicts by using port 0.

I was using random ports, which are mostly okay, but over the course
of hundreds of cpantesters.org reports, enough showed up to make it a
concern
Log why connection tests fail.

Most cpantesters.org failure reports are of the form "connection
failed" without explaining why.  Explain why.