Integrate go-metrics

* use rcrowley/go-metrics to time some internal events
* push timing data to graphite if configured to do so

There are changes to goraft/raft that will need to go through a separate PR once we decide how to move forward.