A TcpWrapperConnection can be used to wrap a IOStream that is based on a Socket, but which is not actually a SocketConnection.
This is used by SocketClient so that it can always return a SocketConnection, even when the connection it has actually created is not directly a SocketConnection.