DRILL-1474: [AtomicRemainder] Failure to allocate requested memory should be logged as warning
DRILL-1676: Use previous version of dagre so that visualizer works
DRILL-1703: Fix situation where repeated map vector was re-adding column name on second record batch.
DRILL-1695: Fix code generator comparisons
DRILL-1698: QueryWrapper creates a logger for FlattenRecordBatch class
DRILL-1434: In ParquetGroupScan compute the non-null value count of a column if stats are available for each chunk. Don't apply ConvertCountToDirectScan rule if stats are not available.
DRILL-1610: Don't apply partition pruning optimization if one of the disjuncts don't meet pruning criteria
DRILL-1702: Fix issue where 4 byte DrillBuf is sent even though there are no values when using varchar or repeated vector.
DRILL-1704: Use complex reader for dictionary encoded files, as original reader seems to be broken
DRILL-1705: Fix bug when loading nested repeated vectors
DRILL-1701: Fix for nullable dictionary columns in optimized parquet reader. Re-enable the optimized reader for dictionary encoded files.
DRILL-1664: Count(*) returns incorrect result for a parquet file with repeated data.
DRILL-1700: Removed incorrect assertion in memory allocation code
DRILL-1635: Additional fix for validation exceptions.
DRILL-1533 C++ Drill Client always sets hasSchemaChanged to true for every new record batch

Free up memory from columnDefs. Added a check to ignore empty data. Empty oldSchema if still contains items in the end
DRILL-1498 Drill Client to handle handshake messages in handleRead and to ignore spurious results
Drill-1537: Passing listener context directly to the QueryResultsListener callback function.
DRILL-1537: Addendum. Add interface for get application context.
C++ Client. Correct the setting of SYSTEM_LOCALTIME_MIN for Windows platform.
C++ Client. Enable passing CMAKE_CXX_FLAGS, CMAKE_C_FLAGS options from cmake.

Also it contains specific changes needed by ODBC Driver.