Add Histogram representative of row key distribution inside a region.

Details

Description

Using histogram information, users can parallelize the scan workload into equal sized scans based on the estimated size from the Histogram information. This will help in enabling systems which are trying to perform queries on top of HBase to do cost based optimization while scanning. The Idea is to keep this histogram information in the HFile in the trailer and populate this on compaction and flush.

The HRegionInterface can expose an API to return the Histogram information of a region, which can be generated by merging histograms of all the hfiles.