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.