Features/socket server

Implements a socket server interface.

I didn't break API compatibility, but if noone objects I'd like to.

Instanciating a `TCPSocket` that connects implicitly is weird. I did some hackery to make `TCPSocketServer#accept` return what amounts to a connected `TCPSocket` but it'd be much nicer if it just looked like the posix API imho.