DRILL-831: Execute the probe phase for outer joins if the build side is empty (fix for NOT IN bug).
DRILL-824: MergingRecordBatch.next() fails to reallocate the outgoing vectors if copyFromSafe returns false.
DRILL-800: Partitioner is dropping records that can't fit in the available space of ValueVectors in OutgoingRecordBatch.
DRILL-843: Drillbit goes down after running a large number of queries in a series
DRILL-829: Use ISO8601 date/time format in log file
Fix runtime generated code for HashJoinProbeTemplate.
Use logger level ERROR when a fragment failure occurs
DRILL-648: Multiple sort failure in single mode when running TPCH queries
DRILL-847: Handle different schemas for Merging receiver.
DRILL-827: Fix bug in reading dictionary encoded columns in parquet.
DRILL-665: Handle null values in case expressions.

Signed-off-by: vkorukanti <venki.korukanti@gmail.com>
DRILL-665: Handle null values in case expressions (contd).

1. Added functions for converting REQUIRED holder into NULLABLE holder where the minorType is same.
2. Update in Optiq->Drill literal conversion. First check if it null type, before parsing the literal value. Parsing literal value will cause NPE if the type is NULL.
3. Changed getReturnType of IfExpression to consider the nullable types of THEN and ELSE expressions.
4. Added testcases.
DRILL-854: PartitionSender generated code is too large
DRILL-856: Reduce code-generation size for MergingReceiver
DRILL-423: C++ Client. Initial implementation (reviewed)
DRILL-864: MergeJoinBatch fails to set record count in ValueVectors in container
DRILL-853: Enable broadcast joins and fix some issues with BroadcastExchange and ScreenCreator.
DRILL-874 : Fix code to handle splitAndTransferTo in BitVector, when copy is required.
DRILL-818: Fix output type while adding date and interval types.
DRILL-855: Improve work assignment parallelization
DRILL-672: Queries against HBase table do not close after the data is returned.