Simplify TcpStream::open a little
Add TcpListener::listen