More column flush and merge ParquetColumn & ParquetDataColumn

This also includes some data size calculations for the total number of
bytes in each row, some Parquet Thrift message construction based on
the column properties.  I also added constructor parameters for
Encoding & Compression.
Almost at the point where data is being written out to disk!