GEOMESA-107 keeping query stats

Adding an option to the data store config (default true) to collect query stats. Added instrumentation into the AccumuloFeatureReader.
The persisting of stats is done in an asynchronous background thread - not all stats are guaranteed to be written, but in exchange it consumes less resources.
The initial instrumentation is fairly light, as I didn't want to pollute the code too much. Considered using aspects, but it seemed like overkill at the moment - plus a lot of the underlying methods we'd be intercepting are undergoing change.
maybe aggregate is the wrong word... I'm converting a single row+cf into a case class. The cf has 5-6 cq/values. But we don't want to store them together b/c then we wouldn't be able to do any queries or m/r jobs on them without splitting them.