CDAP-1062 Readless increments can drop cells on flush and compaction

This change refactors the aggregation of increment writes.

* IncrementSummingScanner now wraps the underlying InternalScanner using a WrappedScanner class.  This class handles the details of obtaining batches of results from the InternalScanner, and detecting when we cross a row boundary, and preserves any unconsumed cells from a batch between invocations.
* IncrementSummingScanner.next() now correctly respects the limit argument, where before it could exceed the limit value on occasions.
* Adds tests for increment handling and correct aggregation between flushes and compactions.  IncrementHandlerTest handles this from the client side, IncrementSummingScannerTest tests this directly on the region.

The change to the Tephra version in pom.xml is a placeholder until we have a new Tephra release with the fix for TEPHRA-49 (should be coming shortly).
I don't see the same cell being emitted twice.  Can you describe that a bit more?

If we have two versions of the same column that are (put) long values, then, yes, we will emit both (unmodified).  I think this is the correct behavior from the increment perspective.  It should not be in the business of pruning older versions.  That is the handled by the transaction filter (when it can).