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
Upgrade distribution to git-based workflow.
fix test and TestServer
Add tests for bug where we throw away the connection right before
we get EOF, and it gets reused and the new connection gets an
EOF error event immediately. And now to figure out how to fix this
Add a shutdown_clients() method so tests can shutdown all the clients
at once. Also make the server more robust against race conditions by
not calling put() on a disconnected client.