support tcp protocol

statsD runs in tcp mode , client establish a tcp connection and write data end of \r\n
This is not a clean style: there should be separate classes for TCP and UDP connections! Maybe an abstract base class could then define behaviour used in both implementations, but as the protocols are a little different, they deserve their own classes.