DRILL-494: Support for Storage Plugin Optimizer Rules
DRILL-571: Predicate push down into HBase scan
DRILL-491: project pushdown into scan. Add base test class for testing plan.

Project pushdown.  Add a plan base test class.  Add a clone method for GroupScan.

Minor change to DrillScanRel.getGroupScan().

Project push down : skip trivial project.

Enable the rule to remove trivial project in logical planning phase.
DRILL-549: Implement functions for date and interval data types

Jira, DRILL-549 has the complete list of functions implemented.
DRILL-556: Implement the following aggregate functions.
stddev()
stddev_samp()
stddev_pop()
variance()
var_samp()
var_pop()

Implement aggregate functions (max, min, sum, avg, count) for Date, Time, TimeStamp, TimeStampTZ, Interval, IntervalDay, IntervalYear
Increase TPCHTestPlanning timeout
DRILL-452: Conversion functions for external data types

* Length need not be a parameter in varchar* functions.
* Added test cases for UTF8 conversion.
DRILL-578: Performance fixes in Hash Join.

Includes a few minor fixes when hash join receives empty batches on build / probe side
DRILL-469: Enable nulls in HiveRecordReader
DRILL-516: Use custom convertlet table to support extract() functions
DRILL-559: Fix NPE in dumpcat when arguments are not provided
DRILL-564: DRILL-442 broke DRILL-433 aka custom column width while printing results
DRILL-565: Remove spurious insertion into IdentityHashMap in ConstantExpressionIdentifier.visitFloatConstant()
DRILL-582: generate a standalone fat JDBC jar
Disable project pushdown rules as it causes regression in INFORMATION_SCHEMA.
Update HiveTextRecordReader to support nullable types.
Rename SQLParser to exec/jdbc.  Rename jdbc-all to exec/jdbc-all
Fix sqlline shell invocation so that it doesn't scan for a billion classes to find the match for the jdbc:drill: url.
Exchange optiq rules: no need to specify child operand in Drill logical/physical rules.

Add child specification to Project and Filter physical rules.