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!
Is this true? Because we treat repeated fields as required lists of required elements when there is no LIST or MAP annotation, I think we could technically have a repeated type here.