Refactor to use the new streams API

SocksConnection will no longer emit the socket along with the 'connect' event.

SocksConnection is now a DuplexStream and can be read/written from/to.

SSL handling no longer manually creates a SecurePair; Uses native starttls support in tls.connect.

As it now depends on the new streams API, add the node engine restriction in package.json