Add support for Hive file formats

Add support for ORC, ORC vectorized, DWRF and Parquet
Add support for Hive DATE type
Verify types in HiveRecordCursorProvider implementations

If a file format does not support a type, throw an exception during initialization.

Add all new file formats to HiveRecordCursorProviders.
Add TupleDomain to HiveSplit
Simplify partition sorting in HiveClient
Convert Hive to use ConnectorDataStreamProvider instead of RecordSetProvider
Use multibinder for HiveRecordCursorProviders
Add new ORC reader implementation
Add OrcVectorHiveRecordCursor
Add OrcDataStream
Add lazy blocks for ORC
Remove ORC record cursors
Switch default file format to ORC
Make HiveRecordSink store uncompressed
Benchmark Hive input formats directly
Add support for __HIVE_DEFAULT_PARTITION__
Add support for TIMESTAMP in Hive partition key

Fixes #1474
Add Hive write support for varbinary, date and timestamp

Fixes #1425
Add support for ORC file without stats
Add metadata abstraction for ORC