Creates a new socket connection to the host and port and returns a Future
that will complete with either a Socket once connected or an error
if the host-lookup or connection failed.
Destroy the socket in both directions. Calling destroy will make the
send a close event on the stream and will no longer react on data being
piped to it.