feature(graphite backend): persist and reuse graphite connections

This makes the graphite backend persist and reuse tcp connections to graphite.
Connections will be automaticaly re-established after a disconnect event.

This will hopefully help reduce load on our graphite server a little bit.