Better reconnect logic for the TCP client, and cleaned up the tests a bit, too.
Merge pull request #16 from uber/better-reconnect-logic

Better reconnect logic