Support Avro reflect.

This change allows POJOs to be used, as raised in https://github.com/Parquet/parquet-mr/issues/106.

Note that there are some signature changes needed to make this change. E.g. `AvroParquetWriter<T extends IndexedRecord>` is loosened to `AvroParquetWriter<T>`.