Associate Tcp.CloseCommands with their respective confirmation events
Make use of new command.failureMessage
Clean up imports
TcpOutgoingConnection: Respond with CommandFailed rather than ErrorClosed on failed connect

Before, a Tcp.ErrorClosed event is generated when a connection attempt fails. For symmetry with the Tcp.Bind case and general usability of the API a Tcp.CommandFailed(connect) is the better choice.
Small simplification in TcpConnection