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-1697. C++ Client. Use the object io_service::work to prevent io_service running out of work.

- Deleting the `work` object to permit the io_service to exit.
- Also reset `io_service` before submitting query.