HIVE-8909: Implement Parquet backward-compat rules.

This implements the rules specified by PARQUET-113 for reading existing
list and map structures in different Parquet object models. This adds a
HiveCollectionConverter that implements the rules for LIST and MAP
annotated types. It also adds support for un-annotated repeated groups
according to the spec.

Existing data is produced and validated in TestArrayCompatibility and
additional .q tests.