Changed Client constructor to utilize Socket instead of address and port.
Little bit of refactoring to expose the socket being set when creating a client.
This will enable better mocking and testing, and matches
conventions used throughout the rest of the Jenjin