Add "LinesOfALargeExecFuture" abstraction
Summary:
- This is for D2457.
- We have an existing LinesOfALargeFile class for buffered, line-oriented processing of large input streams.
- Splits existing LinesOfALargeFile class into abstract LinesOfALarge and concrete LinesOfALargeFile.
- Changes next() algorithm to be iterative rather than recursive.
- Allows the user to specify a line delimiter character.
- Adds concrete subclass LinesOfALargeExecFuture.
- Document and cover all three classes.
Test Plan: Ran unit tests.
Reviewers: csilvers, btrahan
Reviewed By: csilvers
CC: aran
Differential Revision: https://secure.phabricator.com/D2459