Refactor cache updater to work outside of the users home

This refactors `Cache\Updater` to work on any `View` and removes the assumption of working within the users home folder, additionally `View` is changed to call the updater directly to provide a simpler and more robust code flow to the updater.

Fixes #9496, #8965

cc @PVince81 @DeepDiver1975 
Okay, seems to be a test class. But why the difference with the `Updater` tests ?
Can you explain in more details in the pull request ?