Add TCPServer effect

Also abstracted a few things out of TCPClient into TCPCommon, made a few
changes to Socket
Add EchoServer, add Network.TCP.TCPServer to package