replace TcpConnection shared_ptr with unique
Connection starts owned low level connection in constructor
TcpConnection inherits from low level connection