enable mapr profile hbase
DRILL-1352: C++ Client. Update the decoding of nullable value vectors to read a byte for every nullable bit.
DRILL-1283: JSON project pushdown.

Allows for users to avoid reading columns of a JSON file, including those that include elements of JSON that drill does not currently support. This can be used to query a subset of an existing file while avoiding elements like schema changes in some columns or nulls in lists that are currently not compatible with Drill.

Patch was revised based on Hanifi's review comments, and then rebased off of the merge branch.
DRILL-1313: All text mode for json reader

Current implementation handles nulls that appear while in text mode differently depending if they appear in lists or maps. This allows for a null where a list or map is expected to act the same way it does without text mode enabled. For an expected map it just assumes that the field didn't exist, in which case the leaves below become null filled, and for a list it will default to showing an empty list.

If we are actually inside of a list, a null in JSON will be treated the same as the string "null", which improves over the previous behavior of just dropping the null value all together, as we do not support null values within any of the repeated primitive vectors currently.

Patch has been rebased on top of merge branch.
Fix decimal regressions
Fix date truncate functions to use toString helper functions.
Minor cleanup: move the truncate logic in a separate template