added a timeout mechanism to send and receieve (much more robust now).  Fixed a few issues in the server client test.  Created a Publisher Subscriber class and created a test for it (the test doesn't pass for now).