Don't need separate client threads

The Main and Server tests don't need to create a separate client
thread--the test itself is a thread. Now sending requests by directly
creating a socket and writing to its output stream, and testing that the
socket receives something (truer "end to end").