[propertycache] dispose ObjectPropertyCache together with StorageFactory

When the cable was unplugged, the storage factory was disposed but items
in the cache persisted. After some modification of the filesystem while
USB was disconnected, StorageFactory was likely to assign different
object IDs to the files, causing that properties of a wrong object were
retrieved from the cache, still filled from the previous session.

There's now no reason for ObjectPropertyCache to be a singleton. We
let StorageFactory instantiate the cache and delete it at the end of its
own lifetime.