PARQUET-52: refactor fallback mechanism

ready for review:
https://issues.apache.org/jira/browse/PARQUET-52
The concept of FallbackValuesWriter seems pretty tight coupled with the concept of DictionaryValuesWriter. Why not a simpler design with DictionaryWriter implementing FallBackWriter interface. And in the FallBackWriter interface user needs to provide a fallBackWriter.