Repository local storage improvements.

Changes:
* removed way too much java.io.File exists/mkdir/isXXX invocations
* relocated mkdir from core to FS LS (of repo baseDir)
* relocated when mkdir happens (only once, not per every getBaseDir invocation)
* repoBase dir is calculated and created only once, and is cached and reused
* improved/removed code duplication regarding storage contexts
Fixed Mocks in UTs
Reformat, no code change
Fixing logging, use slf4j api
NEXUS-6050: Improve logging
NEXUS-5998: no need to (re)fetch group membership unless using static mapping (because with dynamic mapping the membership details are already populated)
NEXUS-5998: short-circuit LDAP role-search if none of the roles exist in LDAP
Merge remote-tracking branch 'origin/master' into NEXUS-6050-improve-ar-logging
NEXUS-6050: More logging improvements

Using goodies ComponentSupport instead of the deprecated
AbstractLoggingComponent
NEXUS-6050: Expose proxy repo for subclasses
NEXUS-6050: Expose maven proxy and use it in logging
NEXUS-6050: Fixing NPE prone logging
NEXUS-6050: Enhancing S3 scraper related log
Merge remote-tracking branch 'origin/master' into repo-storage-mkdir
Removed deprecated method and casting cleanup.
Removed deprecated methods.

They were deprecated since 2.1 and 2.2
Not using external locking, but syncing on the context itself.

Which is even more correct, as all mutating methods of the context
as synced also.
NEXUS-6050: Cleanup
Extend ComponentSupport instead of AbstractLoggingComponent

Signed-off-by: Alin Dreghiciu <adreghiciu@gmail.com>
Send CapabilityEvent.AfterUpdate also when update fails

Signed-off-by: Alin Dreghiciu <adreghiciu@gmail.com>