DRILL-789: Left outer join returns "null" values for columns from the right table

The problem is that the "lastSet" field is not set on the Nullable mutator when the vector is loaded off the wire. The fix here is to make sure this gets set.

At the same time, this wouldn't be a problem, except for the fact that we fill in empty values when setValueCount is called, and if "lastSet" is not correct, we end up clobbering the existing data. We shouldn't need to call setValueCount on a transferred vector, so I am making this change in project record batch.
DRILL-809: BitVector.allocateNewSafe fixes.
DRILL-810 : add isSafe() to Nullable value vector. Check nullable value vector has capacity for new value in run-time code.
setSafe() in variable length vector should check has capacity to hold new value.
Bug fixes in Project operator. Use allocateNewSafe() to allocate space for outgoing batch in Project.

Reenable testcase.
copy unmerged records in merge sort to new buffer
DRILL-802: convert_to(int_field, 'INT_HADOOPV') throws IndexOutOfBoundsException
DRILL-796: Selecting * from HBase tables filtered with 'row_key' returns empty arrays
DRILL-825: MaterializedField is mutable and is not suitable as a KEY in a MAP

+ Minor optimization/cleanup in HBaseRecordReader
DRILL-649: Reading impala and avro generated parquet files

Implemented dictionary encoding for the non-varlength types.
DRILL-816: Fix bug with reading nullable columns resulting in mismatched number of records in vectors.
DRILL-826: Improve efficiency of BitVector when getting and setting
Fix serialization of IntervalYear in ExpressionStringBuilder

Increase average bytes allocated for key vectors in HashAggBatch
Update client and server to wait to close before returning to avoid spurious allocator test failures.
DRILL-800: Partitioner is dropping records that can't fit in the available space of ValueVectors in OutgoingRecordBatch.