DRILL-1324: Add mechanism to detect schema changes when adding a new primitive vector in a Map, RepeatedMap, RepeatedList vector
DRILL-1619: Fix running and output type for count aggregate function Raise an exception while performing aggregate functions on boolean data type
DRILL-1634: Fix issue in complex type expression type resolution, when Drill queries a nested array.

code clean up.

add comment of code change.
DRILL-1525: Modify hash functions to use XXHash algorithm
DRILL-1566: C++ Client does not handle incoming record batches with zero records
DRILL-1417: ensure star column is passed to scan in case non-partition columns are empty
DRILL-1539: fix an issue regarding populateEmpties in RepeatedMapVector
DRILL-1585: C++ Client - Update RPC version and protobuf definitions for RPC version 3
DRILL-1578: Accountor message should be trace messages
DRILL-1480: Update Netty to 4.0.24.Final
- Update Parquet writer to always make binary copy of data for statistics holding purposes.  (Fixes JVM crash in certain cases.)
- Update WriterRecordBatch to stop doing premature cleanup.  In the case that a downstream operator is still holding memory allocated in the writer record batch, it was possible that the operator would try to close the allocator before that memory had been released.
Update WorkEventBus to immediately fail if Fragment is unavailable.  No need to wait now that we propogate intermediate fragments before leaf fragments.
DRILL-1544 : Support escape character in "like" or "similar to" SQL operator.

Conflicts:
	exec/java-exec/src/test/java/org/apache/drill/TestExampleQueries.java
DRILL-1661: Fix for setValueLengthSafe method in variable length vectors that was causing a failure in the parquet reader.
DRILL-1585: Update user rpc version due to changes in RpcFailure behavior.
DRILL-1663: Fix casting to a variable width type implicitly in a join condition

Factor out logic in ExpressionTreeMaterializer so the same logic can be reused in ChainedHashTable.
DRILL-1631: Bump optiq version to r8
Add test case. Fix is in optiq.
DRILL-1455: enable projection pushdown past join

i) refactor project past filter to remove redundant code
ii) adding unit tests for projection past join & hybrid cases like projection past filter & join
iii) disable one TestExampleQueries#testSelectStartSubQueryJoinWithWhereClause until DRILL-1680 is fixed.
DRILL-1470 : cast into varchar should recognize the length parameter in varchar. Fix casting function implementation: the length parameter should mean # of chars, not # of bytes.

New unit test case to verify the result from cast function.

Fix bug in cast into varchar. When target length = 0, it means we want to keep the input .

code clean up.

Include change for varbinary cast as well.
DRILL-1592: Detect drillbit failure and cancel the affected running queries.

Revise code based on review comments.

Revise code based on comments: only track the newly dead drillbits.

Remove some debug msg.

Minor code change based on review comments.

clean up.

add comment. Clear listeners when drillbit is unregistered from CC.

Minor code change from review comments.