DRILL-1307: add support for fixed binary columns in parquet reader.

DRILL-1314: Fix issue reading impala produced files

DRILL-1304: Regression selecting a single column from a parquet file.

Fixed issue with var length dictionary reading.

Reduced memory usage by freeing buffers after we finish reading a page (except for dictionary pages which need to be kept in memory until the entire row group has been read)

Rebased onto merge branch.

Successfully backed out the changes that had changed the structure of the nullable column readers. This re-introduced some redundancy but avoided a bug that was holding up the release. Ended up falling back on the higher level reader API, only in the case where we are reading a dictionary column and then the next page is not dictionary encoded. This can be fixed to use the optimized read instead, but it doesn't conform to the overall structure of the current reader and is a bit difficult to fix.
DRILL-1329: revert parquet allocation size