NEXUS-2450: Maven1 reposes will be asked for EJBs

Nexus doing the "conversion" from M2 to M1 path does not have
all the knowledge about requested artifact, like it's packaging
(it's just been asked for). This change adds a small "twist" to
Nexus layout converting shadows, and the "ejbs" folder will be asked
too before giving up a request. While methods now
return List of paths (instead of just one path as before), nothing
changes and almost every method except the doRetrieveItem will
make use only of the first element of the returned list, yielding
in no change. The doRetrieveItem method will use "extra" paths,
and will iterate of the list of paths trying to get response,
ultimately failing with INFex.
NEXUS-2450: NPE fix

Initial implementation invoked parts it should not invoke
even with null result, causing NPE.

Problem was badly located logic within the for-loop.
NEXUS-5621: Blocking routing rules are not enlisted in describe

the "appliedMappings" contains both INCLUSIVE and EXCLUSIVE rules
when asked for describe a given request, but BLOCKING mappings
were not enlisted

This simple change makes sure those are enlisted too, making
it easier to detect why something is not served up (in case
BLOCKING rules are used at all).
Switched from direct ArrayList use to guava Lists
NEXUS-5468: HTTP connection leak in case of LSEx

Fix for LRS to always clean up PreparedContentLocator instances
and a UT verifying this happens in both case, in "norma" but
also in "early unexpected" exception case.
NEXUS-5468: Applying original parts

Instead of introducing new custom method. PreparedContentLocator
made plain Closeable. Using guava Closeables to
make it closed.
NEXUS-5468: Generalizing the solution

To not be specific for PreparedContentLocator, but instead
make them proper "Closeable"s. Same for FS RLS, it cares about
Closeable, not about given ContentLocator implementation.
NEXUS-5673: Logspam in shadows.

Handling at top level cases like:
* this shadow is out of service, no need to dive in at all
* INFEx silenced to DEBUG (with logging of event)
* Unsupported operation and illegal operation silenced to DEBUG (with logging of event)
* improved logging in general
NEXUS-5673: Logspam in shadows.

Layout converter maven shadow (that serves as basis for
M1-to-M2 and M2-to-M1 reposes) got extra catch that
simply ignores ItemNotFOundEx when removing links.
NEXUS-5673: Catching INFex only when link is not found

When link is not found, as in related issue, we still
let the empty parent cleanup to happen.
[NEXUS-5607] Mark Min to keep / Retention days fields as mandatory in Snapshot removal task

Signed-off-by: Alin Dreghiciu <adreghiciu@gmail.com>
NEXUS-5673: No code change, just issue refs
NEXUS-5673: No code change, tabs2spaces
Merge pull request #822 from sonatype/nexus-5673-logspam-in-shadows

[REVIEW] NEXUS-5673: logspam in shadows
Merge pull request #814 from sonatype/nexus-5621-blocking-routing-rule-not-in-describe

[REVIEW] NEXUS-5621: Blocking routing rules are not enlisted in describe
Merge pull request #813 from sonatype/nexus-2450-m1-ejbs

[REVIEW] NEXUS-2450: [M1 to M2] EJB artifacts are served from **/jars/ directory instead of **/ejbs/
Merge pull request #820 from sonatype/nexus-5468-connection-leak

[REVIEW] NEXUS-5468: HTTP connection leak in case of LSEx
Merge pull request #825 from sonatype/nexus-5607-snap-remove-mandatory

TRIVIAL: [NEXUS-5607] Mark Min to keep / Retention days fields as mandatory in Snapshot removal task
No code change, reformat.

And removal of unused imports.
Merge branch 'master' into NXCM-4665-ScheduledTaskToRemoveReleases