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-1596: Build schema for producer-consumer
DRILL-1595: Send intermediate fragments before leaf fragments
DRILL-1599: Drill FileSystemPlugin need getOptimizerRules() method to get optimizer rules from format plugin
DRILL-1333: Flatten operator for allowing more complex queryies against repeated data.
DRILL-1600: Enable Java assertion in unit tests
DRILL-1604: Include error info in message sent back to client
DRILL-1617: Disable ProducerConsumer
DRILL-1581: Fix overflow check in casting from varchar to int
DRILL-1601: Have a minimum allocation for variable length value vectors.
Improve error messages in PartitionerTemplate and UnorderedRawBatchBuffer.
Minor change in cleanup for HashJoin.
DRILL-1339: Use EStore to track running query status.

Move common code to ZkAbstractStore.

Get full profile from foreman directly.

code cleanup.

code change based on review comments.

ZK store check node exists before delete. Add error message in case of error.

Use a different profile for running queries, so that running query would have different ZK node from completed queries.

More log.  Do not delete query state in EStore. In stead, modify the state in EStore.
DRILL-1612: Add maven enforcer rules for maven and Java version

* Allows compilation with JDK version 1.7.x and maven [3.0.4,4) only.
+ Updated maven-enforcer-plugin to 1.3.1.
DRILL-1347: Update Hive storage plugin to Hive version 0.13.1 from current version 0.12.0.
DRILL-1528: Update HiveRecordReader to read Hive Decimal types with scale and precision.
DRILL-1524: Fix Hive Parquet SerDe reading issue when all columns are projected.
DRILL-1557: Drill build failure

# Moved "MapR Drill Third Party Artifacts" repository above Pentaho's one.
DRILL-1421: Add unit tests and data.  Bump up drill-optiq version to 0.9-drill-r5.  Fix is in corresponding Optiq version.