Created wrapper KCVS that instruments w/ Metrics

MetricsInstrumentedStore wraps the KeyColumnValueStore provided to its
constructor with Metrics Timers, Counters, and Histograms to track
basic statistics about method runtime, result sizes, and exception
rate.

This commit also refactors Metrics configuration in MetricManager and
adds graphdb configuration options to control each of the four
supported Metrics reporters.
Fix getID() abuse

The test method testMultivaluedVertexPropertyRemoval assumed the
result of getID() wouldn't change across transactions, even though the
javadoc for the method says this is allowed.
Added option to merge Metrics across stores

The new option storage.merge-basic-metrics = true (default) combines
the metrics for edgeStore, idStore, vertexStore, etc.  Setting the
option to false makes each store report its metrics separately under a
unique prefix starting with "com.thinkaurelius.titan." and ending in
the store name.
Disable Metrics console dump in default test cfg

I've been playing with the Metrics ConsoleReporter in the
CassandraEmbedded test config locally.  It's very noisy, so I'm
turning it off before pushing.