Graphite client improvements

Add support for UDP to the Graphite client stream. Also some internal refactoring.