Use LRU caching for footers in ParquetInputFormat

Remove footers instance variable.  This instance variable causes issues when the same ParquetInputFormat instance is used to generate splits for different files.  More specifically, it causes problems in Hive's FetchOperator when the FetchOperator is attempting to operate over more than one partition.  This issue is described in more detail at https://groups.google.com/d/msg/parquet-dev/0aXql-3z7vE/Gn5m094V7PMJ
Yeah, it's a good point.  I only added this part of the test in the hope that it would show that you can access/read a file as much as you'd like and the cache entry would still be totally valid.  The goal here was to wait long enough for the access time to change when we read it.  1) It turns out the access time is always set to 0 for local file system and 2) I think the rest of this test is sufficient to show that modification time is indeed being used to determine whether something is current or not (as opposed to access time).