Proxy EOF detection.

Issue NXCM-4864 revealed that pull request
https://github.com/sonatype/nexus/pull/697
is insufficient to handle case when proxy remote peer
drops connection unexpectedly.

NXCM-4864 reveals what exact exception is thrown by HC4
when "remote peer" drops connection unexpectedly. Inspecting
the exception also reveals it is not an `java.io.EOFException`
descendant, but descends directly from `java.io.IOException`.
Hence, changes in pull request
https://github.com/sonatype/nexus/pull/697
(that kicks in on EOFException) will never kick in (and
this case will be handled as "generic IO problem" and will
auto block remote peer too).

So, we introduced a "wrapper" around the HC4 stream, to
have it "translate" HC4 specific exception
into one that is recognised (and handled) by Nexus Core.
Moreover, as it is highly likely that other transports will
use other exceptions (descending or not from EOFException),
using this technique we could always ensure that this case is
properly handled by Nexus Core.

Here, newly introduced Hc4InputStream is meant to translate
the `org.apache.http.ConnectionClosedException` thrown by
`org.apache.http.impl.io.ContentLengthInputStream` read methods.
Merge remote-tracking branch 'origin/master' into proxy-eof

Conflicts:
	nexus/nexus-proxy/src/main/java/org/sonatype/nexus/proxy/storage/remote/httpclient/HttpClientRemoteStorage.java
Cleanup, move into place.
Added UT.

Also, fetch did not propagate EOF exception.
Keep original comment in code.

To have trail why we do not abort in close method
Reformat
Commnet
Add some preconditions for bits which are used as non-null.  Update comments.
[NEXUS-5539,NXCM-4994] Fix repositories view refresh for managed repos
Merge branch 'master' of github.com:sonatype/nexus
(NEXUS-5594) handle RepositoryNotAvailableException and avoid error log, as this could happen normally.
Merge pull request #769 from sonatype/NEXUS-5594-handle-repository-not-available

(NEXUS-5594) handle RepositoryNotAvailableException and avoid error log,...
"{Maven|Artifact} Information" -> "Maven|Artifact"
Merge pull request #772 from sonatype/drop-redundant-information-informations

TRIVIAL: "{Maven|Artifact} Information" -> "Maven|Artifact"
Make possible to append env. entries for LDAP context initialisation

Signed-off-by: Alin Dreghiciu <adreghiciu@gmail.com>
clean up log messages
    update to use resource path to organize links
    NEXUS-5506 - New REST API documentation is extremely difficult to navigate
Merge pull request #774 from sonatype/NEXUS-5506

    update to use resource path to organize links
 TRIVIAL:  remove link to non-existent documentation bundle NEXUS-5506
drop plexus turd