moving socket output buffering from tcp-stream to tcp socket. this is becuase uv doesnt buffer output for us on unconnected sockets, so we have to do it manually and blast the data in once its connected. this basically reverts the buffering changes we did in tcp-stream and moves them to tcp. this is a lot more versatile now, and works exactly as it did in the past (when using libevent).
prefer af-inet when doing lookups in tcp connect  because "localhost" was retuning ::1 which is messing up my tests.