NEXUS-5608: Group WL was updated more then once in some cases.

EventDispatcher initially tried to be more selective when to invoke
update on given group, but due to recent changes it ended up with
two almost identical methods (if repo in question was group).

This change simply "unhooks" one of those two.
NEXUS-5602: WL init add significant startup time.

This change now splits "WL init at boot" from "WL init
at repo addition on runtime" cases. Before, both were
doing same, but due to "cascade", one Nexus with lot of
repo and/or groups booted slower than before.

Now the "cascade" is not done in case of "boot" but on
"repo add at runtime" case is still done (and is needed).
On boot, extra step is done to explicitly init group reposes
WL, instead relying on having them updated implicitly due to
cascade.

This also meant, while former solution was correct, it was
sloppy as same group was updated over and over again on boot
process.
NEXUS-5602: WL init causes long startup time

Added UT, just to realize that initial fix is wrong, due to
concurrency issues of direct updates of group WLs.

Second attempt should be more involved but clearer.

Added UT covering both cases: boot-init and runtime
repo addition, verifying that WL updates does not happen more than
needed.
Merge remote-tracking branch 'origin/master' into nexus-5608-group-wl-double-update
NEXUS-5608: Making IT more reliable

Hosted wl update happens async just like proxies, and it was
just by chance that this IT was passing (but also failing sometimes)

Now with wait for async WL jobs it should behave better.
NEXUS-5608: Removing unneeded methods.

These methods were added very early at WL imple
stage, but during development they proved unneeded
as the one "onConfigUpdated" handles all we need.
Logging cleanup.

Getting rid of extensive use of RSU to format
logged repo name and relying on toString method
of repo implementations in DEBUG and lower TRACE
logging.
Added missing punctuation :P
NEXUS-5602: Fixing the test

The code is correct but test was incorrect as it asserted
against one possible outcome of updates (due to concurrency).

The point is that -- depending how bg jobs were
executed -- group was updated one or twice. One thing is
sure, group has to be updated AT LEAST ONCE.

Adjusted assertions accordingly, to not make this test
fail in case when group is updated only once, as that is
also valid outcome.
NEXUS-5618: M1 reposes are polluting logs on boot

The init step of WLManager did not change for Maven2
content class, only for the MavenRepo "facet". This
is not enough, as on boot M1 reposes will
be tried to init wrongfully. That is not
causing any problem except polluting logs
with stack traces.

We had something similar already fixed, but it was
about repositories put out of service...
NEXUS-5623: Hosted WL not updated on parent removal

WL for hosted repositories is not properly maintained
when a parent directory is removed (parent of WL entry).

For example, when your WL has entry like "/org/sonatype"
and you delete folder "/org".

Moreover, the UT testing this was broken too, as it was
testing this but actually missed the point: comments
stated one thing but assertions were asserting the
opposite
Applied Kelly's comments.

Using hasSize in assertions for better messaging
in case of UT failure.
UT testing WL content on member change.

There was no UT directly testing for correct WL
content on group member changes (only "update propagation"
was tested).
Extended WL update tests to GoG

Group of group checks introduced in the UTs.
Merge pull request #780 from sonatype/nexus-5608-group-wl-double-update

WL update misbehaving