DRILL-1540: Provide a fallback data format in case Drill is unable to determine one

+ added "storageformat" to ignored list to avoid failure in existing cluster.
DRILL-1567 - Pushdown fails with WHERE clause with more than one AND or OR operator of same type
DRILL-1508: Implement pushdown for LIKE operator in HBase storage engine
DRILL-1547: enforce writers to explicitly check for buffer bounds to avoid IndexOutOfBounds errors; make writer hierarchy to stop immediately in case of a write error
DRILL-1484: shutdown executors when connection is closed
DRILL-1543: Implement partition pruning for Hive tables
DRILL-1582: Fix TestMetadataDDL failure
DRILL-1575: skip creating "key" field for null values in kvgen()
DRILL-1436: Remove use of UDP based cache for purposes of intermediate PlanFragment distribution

Includes:
- Remove dependency on Infinispan
- Update initialize fragments to send in batches.
- Update RPC layer to capture UserRpcExceptions and propagate back.
- Send full stack trace in DrillPBError and let foreman node decide on formatting.
- Increment control rpc version
- Update systables to report current drillbit and version
DRILL-1382: Fast schema return
DRILL-1459: fix an issue that causes jvm to crash: fix field materialization to include child nodes during materialization; prevent RecordBatchLoader from creating multiple vectors for the same field; fix a test case;
DRILL-1435: ensure producer consumer returns the last batch indicator & prevent blocking/leaking producer & consumer threads; fix concurrency issues that drives sqlline & drillbit hanging
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.
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.
C++ Client. Add trace message for C++ client freeBuffer and improve connection log message.
DRILL-1197: C++ Client. Differentiate socket/handshake/query timeout for deadline timer.

- add trace logging for error handling.
- return more detailed connection status for validate handshake.
- some bug fixes for time out.
DRILL-1219: C++ Client. Fix timeout for 32-bit windows platform

Disable boost cancel io and use shutdown socket operation.