ISPN-2806 Karsten's Faster FileCacheStore implementation

* This CacheStore implementation stores cache values in a single file,
and keeps keys and file positions in memory. Max memory consumption
can be controlled via a maxEntries parameter.
* Always keep on-disk state up to date: Write changes to disk
immediately, including the cache keys. On startup, the state of the
cache store can be restored by scanning the entire file.
* Clean shutdown (storing the in-memory index on stop()) is no longer
required for persistence.

Signed-off-by: Karsten Blees <blees@dcon.de>