Revert NIO caching change and use soft references again.
A single user can grow the cache very fast (e.g. by rapitdy modifying a large archive without using transactions). We could purge old revisions on commit to counter exactly this scenario, or just use soft references again to prevent OOM situations. Time based eviction is not sufficient. We do that anyway to free memory even if memory pressure is not high enough to cause soft reference collection.