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

Author: julien <julien@twitter.com>

Closes #16 from julienledem/data_encodings and squashes the following commits:

3a60c6c [julien] typo
46f7b7a [julien] update to stats based on feedback
6474f58 [julien] Merge branch 'master' into data_encodings
3529ccf [julien] make data_encodings optional
709dd7c [julien] add data_encodings to ColumnMetaData to enable dictionary based predicate push down