PARQUET-52: refactor fallback mechanism

ready for review:
https://issues.apache.org/jira/browse/PARQUET-52
I wanted to make sure it uses the dictionary encoding.
I modified the test to exerce all cases (faalback and not)