DRILL-7442: Create multi-batch row set reader
Adds a ResultSetReader that works across multiple batches
in a result set. Reuses the same row set and readers if
schema is unchanged, creates a new set if the schema changes.
Adds a unit test for the result set reader.
Adds a "rebind" capability to the row set readers to focus
on new buffers under an existing set of vectors. Used when
a new batch arrives, if the schema is unchanged.
Extends row set classses to be aware of the BatchAccessor class
which encapsulates a container and optional selection vector,
and tracks schema changes.
Moves row set tests into the same package as the row sets.
(Row set classes were moved a while back, but the tests were
not moved.)
Renames some BatchAccessor methods.
closes #1897