HCOLL-94 Added support for initially connecting the endpoint ( via its own thread,  so won’t block for endpoints which are failing or taking a long time to connect ) to then uses the selector ( single thread ) for all sockets. Correctly, moved the reading and writing to the socket, out of the connect and accept methods into isReadable and isWritable. Finally got the code to work, after a lot of trial and error. The code still requires a mass refactoring, ( which I will do tomorrow ), keen to check in a working version now it passes the tests so that we can refactor from there.