OPENDJ-830 (CR-1591) Implement authentication and authorization for HTTP connection handler
Implemented the authentication steps (search username + bind) in an async way.
CollectClientConnectionsFilter.java:
Added inner classes HTTPRequestContext, DoBindResultHandler and CallDoFilterResultHandler to support async processing.
In doFilter(), built the HTTPRequestContext + removed some local parameters.
Extracted the methods doFilter(HTTPRequestContext, AuthenticationInfo), sendAuthenticationFailure() and onFailure() from doFilter(ServletRequest, ServletResponse, FilterChain).
In several methods, replaced several parameters by using just one HTTPRequestContext parameter.
Extracted method buildSearchRequest(String) from searchUniqueEntryDN().
Removed getAuthenticationInfo() and added the code back to doFilter().
Removed authenticate(), searchUniqueEntryDN() and bind(), and moved their corresponding code to the inner classes.
Added getAsyncContext().
CollectClientConnectionsFilter.java:
Removed the test for authenticate()
SdkConnectionAdapter.java:
Fixed two bugs