Scalariform formatting changes.
Reimplementing Parquet parsing and implementing S3AvroParquetRDD.
Added ParquetOriginalType, and carried it through the ParquetColumnDescriptor.

All our tests should be passing now.
Removing printlns, and an assert that will fail when we use a projection.
Added failing test for use of a Projection
Debugging.
Fixed the projection test.
Cannot figure out why the Filter is 1. being bound twice, and 2. not working.
Closely align the reader and the iterator

- In the filtered case, we can't know how many records will need to be
  included, but it won't be the number from the row group. Use the
  record reader to read a record and use its null-ness for the hasNext test
Removing printlns and extraneous asserts.
Fixed Carl's code in the Iterator over RecordReader
Fixed the issue with the MessageType->Avro conversion and the filter failing test.
Fixed the FieldEnumerationSuite

The test conditions (see comments) were broken for Parquet 1.4.0+, based on apparently
a difference in the way that default values are handled for boolean fields.