[2.8] Changes stemming for weekend talk with JD

Just a bunch of changes mitigating some problems we talked about. Loosely relates to local storage improvements

Changes:
* Cleared up nullability of storage context: local is never null, remote is never null (unless a bug, hosted repo casted to Proxy and invoked getter for remote)
* Cleaned up "lazy" creation of storage context, caches and other stuff in Repositories (hosted and proxy)
* Moved thread management from registry (made it simpler) to proxy repo who's thread it is (as we introduced dispose)
* Added Override annotations for early warning (to ease refactoring)
* Removed unused setters from Repository interface
* Removed unused and unfinished task filtering

CI
https://bamboo.zion.sonatype.com/browse/NX-OSSF50