High-Throughput Streaming Scan API

Details

Description

I've done some working testing various ways to refactor and optimize Scans in HBase, and have found that performance can be dramatically increased by the addition of a streaming scan API. The attached code constitutes a proof of concept that shows performance increases of almost 4x in some workloads.

I'd appreciate testing, replication, and comments. If the approach seems viable, I think such an API should be built into some future version of HBase.