PARQUET-4: Use LRU caching for footers in ParquetInputFormat.

Reopening https://github.com/Parquet/parquet-mr/pull/403 against the new Apache repository.
It could also be an issue, for example, with long-lived Hive sessions.  Hive reuses the input format for the duration of a particular CLI session.  So if the old, cached files were overwritten in HDFS (i.e. same file names but different data), then it'd be nice to have this logic in place to invalidate the entries.  So that was the motivation, but I'm open to changing/removing the code if you think that's really necessary.