DRILL-7011: Support schema in scan framework
* Adds schema support to the row set-based scan framework and to the "V3" text reader based on that framework.
* Adding the schema made clear that passing options as a long list of constructor arguments was not sustainable. Refactored code to use a builder pattern instead.
* Added support for default values in the "null column loader", which required adding a "setValue" method to the column accessors.
* Added unit tests for all new or changed functionality. See TestCsvWithSchema for the overall test of the entire integrated mechanism.
* Added tests for explicit projection with schema
* Better handling of date/time in column accessors
* Converted recent column metadata work from Java 8 date/time to Joda.
* Added more CSV-with-schema unit tests
* Removed the ID fields from "resolved columns", used "instanceof" instead.
* Added wildcard projection with an output schema. Handles both "lenient" and "strict" schemas.
* Tagged projection columns with their output schema, when available.
* Scan projection added modes for wildcard with an output schema. The reader projection added support for merging reader and output schemas.
* Includes refactoring of scan operator tests (the test file grew too large.)
* Renamed some classes to avoid confusing reader schemas with output schemas.
* Added unit tests for the new functionality.
* Added "lenient" wildcard with schema test for CSV
* Added more type conversions: string-to-bit, many-to-string
* Fixed bug in column writer for VarDecimal
* Added missing unit tests, and fixed bugs, in Bit column reader/writer
* Cleaned up a number of unneded "SuppressWarnings"
closes #1711