OPENDJ-1285 CR-4409 Migrate SDK from Futures to Promises

Connection, ConnectionFactory, ResultHandler and SearchResultHandler public APIs have been changed.
* Connection.java
  In all xxxAsync method, the final handler parameter will be removed and the client is expected to register the handler with the returned promise. For search request, a SearchResultHandler is still required because it needs to handle search result entries/references.

* ConnectionFactory.java
  In the method getConnectionAsync(), the final handler parameter will be removed.

* ResultHandler.java
  Now extends SuccessHandler and FailureHandler in order to allow usage of then() method call.

* SearchResultHandler.java
  Remove the inheritance link with ResultHandler. So client needs to register a ResultHandler instance when he calls searchAsync in addition to register a SearchResultHandler.

git-svn-id: https://svn.forgerock.org/opendj/trunk/opendj@11001 41b1ffd8-f28e-4786-ab96-9950f0a78031