Graphite WIP

Graphite end point has been beaten back into shape.  Added test coverage.

Changed config to allow for infinite Graphite listeners... might be something we need to limit at some point.

would love feedback!
I see why you do this, but it looks a bit strange. The `g` comes from the config object due to the `range` loop, but `config` has to be passed back in to get the `TCPAddr` or `UDPAddr`. I wonder if there is another way to do this? Do we care?