Fixed the bug in the DRYed tcp client code and re-enabled all of the tests.