Added support for custom TcpClients

This allows a RexProClient user to supply their TcpClients from a connection pool and/or apply their own connection settings.

All 27 tests pass. I didn't add any tests for this, but I did give it some successful trial runs in my Fabric project.