PARQUET-52: refactor fallback mechanism

ready for review:
https://issues.apache.org/jira/browse/PARQUET-52
OK. I guess what I'm wondering is, does it need to be configurable, or is everyone who overrides it going to do the same thing?