Launchpad: 1380826 -- TransactionScanner changes

Made changes to limit the cache that is gathered in the
client-side TransactionScanner.  Previous implementation
would gather all rows from the server before returning any
Results on the next() call.  This change will use the scan.cache
size and gather that number before returning a row to the user.
Tested by reproducing the bug in Launchpad with a 10mln row table
and hitting the GC error.  Used the new TransactionalScanner
and a profiler to verify that it does not hit the GC issue and
uses a limited amount of memory.

Change-Id: I479c2a4f375e3f8a1c81ded4d66dd49a8a97bdf6
Merge "Launchpad: 1380826 -- TransactionScanner changes"