PARQUET-119: add data_encodings to ColumnMetaData to enable dictionary based predicate push down

To implement predicate push down based on dictionary we need to know if fallback happened.
If all data pages are dictionary encoded we can use the dictionary for predicate-push down.
If not we can not.

CC @nongli @rdblue @isnotinvain @tsdeng 
what's the relationship between this and 
`2: required list<Encoding> encodings` on line 441 ?