PARQUET-113: Add specs for LIST and MAP annotations.

Draft specs for using `MAP` and `LIST` annotations. This doesn't include a `LIST_ELEMENT` addition to the thrift definition, it is documentation only.

Please help verify that this can read all existing map and list data correctly!
we should probably call out specifically what happens when there was a List<Tuple<String>> encoded as 
```
optional group my_list (LIST) {
  repeated group element {
    required binary str (UTF8);
  };
}
```