Page results back to the client given batch size.

Prior to this the batch size was only covering the "flush" operation.  Now it is batching results into a single response and sending them back.  Flush occurs on meeting the batch size.
Rename and refactor around ResultType.