Schema coercion support

This is a partial fix for #354 and #360. It introduces separate logical and physical schemas into `parquet-column` and supports lifting `repeated` fields into nested structure built by `ConversionPatterns.listType`.

Pig support and some simple tests have also been added. It should also support other engines, such as Hive, without too much effort.