Enhanced IDE configuration steps
Fix HiveClient representation of Double in Partition keys
Allow PredicatePushDown optimizer to handle NullLiteral from nullInputEvaluator
Add support for range predicate pushdowns

This work is a complete refactor of how we generate Partitions in the planning/execution phases.
Instead of generating Partitions after planning, we now integrate the generation directly
into the optimization planning phase so that we can iterate our plan based on data returned
by the Partitions that we discover. This not only provides a number of opportunities for
optimization, but also significantly simplifies the amount of cross-talk between the
split generation and the planning phases. As a result of these changes, it makes
it much easier to build native range predicate push downs.
Add --source option to CLI

This lets you set the source of the query for logging purposes. Tested
by running the CLI with --help to make sure the option showed up, and
added a unit test
Use UUID for native shard IDs
Work around race condition in import flow used by TestDistributedQueries
Add hash partitioning to distributed planer
Extract tupleInfos and sources in PlanFragment constructor
Move all exchange scheduling logic to SqlStageExecution
Manage output buffer set as single unit
Add hash partitioned aggregations
Shade guice in jdbc driver
Rename BytesHiveRecordCursor
Implement SHOW SCHEMAS FROM syntax

Allows you to show schemas from a specific catalog. Added a unit test
Add empty strings to Hive integration test
Add custom record cursor for rc binary files
Move docs to last module in the build
Change DATE, TIME, TIMESTAMP and INTERVAL to be non-reserved words
Add unit tests for rc binary and rc text