FileCache fixes.
FileCache fixes.

Initializing a new FileCache object will now remove any previous
local cache associated with the cache name, irrespective of whether
the quota size allows for unlimited cache or not. This is to avoid
issues where purging caches for files not yet entered into the cache
would allow files to remain when they should be deleted.

Also changed mutex to read-write for better performance and fixed
a few possible issues where methods were reading data structures
without locking.

deuill/mash,deuill/mash,deuill/mash