PARQUET-52: refactor fallback mechanism

ready for review:
https://issues.apache.org/jira/browse/PARQUET-52
maybe rename to FallbackableValuesWriter to make a distinction between the fallBackWriter and the writer that could fall back?