Remove TCPSocket and use MessageProcessor instead

You should really use the *hints* argument here to restrict `getaddrinfo` to only return `AF_INET`. This solves your localhost problem which you mention elsewhere.