Add basic LRU cache for metadata.  This cache also checks the modification times of the underlying files to determine whether the metadata needs to be re-read from disk or not.
Conflicts:
	parquet-hadoop/src/main/java/parquet/hadoop/ParquetFileReader.java
Moving cache from ParquetFileReader to ParquetInputFormat.  Note that the cache can contain stale entries if a given file is created, deleted, and recreated so quickly that the modification time is the same upon recreation as it is upon creation.
Moving cache from ParquetFileReader to ParquetInputFormat. Note that the cache can contain stale entries if a given file is created, deleted, and recreated so quickly that the modification time is the same upon recreation as it was upon original creation.

Conflicts:
	parquet-hadoop/src/main/java/parquet/hadoop/ParquetInputFormat.java