Add optional TCP interface

This extends statsd to support pluggable server modules on which it's able to receive metrics, using a mechanism similar to the pluggable backends.

I converted the existing UDP listener to a server module, and added a TCP server to address issue #204 

Currently only a single server module is loaded, but it would be a simple change to support multiple being loaded allowing statsd to listen over a variety of different interfaces at once.