More Cleanup.

* Fixed too frequent usage of userTempDir in FileCache
* Added javadoc to Tools.java
* Fixed constructor visibility in CachedInputStream
* FileCache now uses the singleton pattern - now has better setup
routines, preparations for multiple file caches with different setups