Cache FileStoreLocal file hashes.

It takes a long time to calculate hashes for every file in the
FileStore. Instead, caches the hashes. If the file timestamp changes,
throw away the cached value and calculate the hash from the file.
Use absolute path as hash cache key.

And don't delete obsolete items from the cache. Need to deal with that
eventually.
Reduce number of hash cache zombie entries.

The old impl just left cache entries in the map if the file modified
time was changed. The new impl reuses the entry and updates it. There
are still zombie entries for when a file is deleted--the cache never
knows about that.
Log cache statistics.
Merge branch 'cache' into develop
Retry some Flickr exceptions.
Convert to gradle, part 1.

After this, the project builds and the unit tests pass.
-Need to create the jars.
-Need to delete the libs.
-Need to rework the Eclipse project.
-Need to figure out where the unit test log output is going.
Remove libs now that Maven is in use.
Remove Eclipse files.

And add a gradle target to generate them.
Merge branch 'gradle' into develop
Fix bug when no Flickr sets.
Make a single Main class for jar.

Used to be several classes with main methods. Simplify to one that can be used
for different kinds of file operations.
Merge branch 'gradle' into develop
Clean up javadoc.
Merge branch 'javadoc' into develop
Add checkstyle and fix some warnings.
Make product code checkstyle clean.
Fix some code style issues in tests.
Merge branch 'checkstyle' into develop
Merge branch 'develop'