Set REUSEADDR socket option for TcpListener and improve error checking.
Fix TcpConnection and Connection constructors.
Implement partly establishing new connection in TcpConnection.