Implement smarter handling of cache in case of failures during initialization
Currently, when opening the cache fails during initialization, the app is basically rendered useless. We cannot live without the cache - this is currently by design - however, we should handle corruptions of the cache. If e.g. on Windows the user previously had the 32bit version installed and now switches to 64bit, we should allow to dispose the cache and re-populate it.