OPENDJ-1536 OPENDJ-1285 Rename FutureResult classes hierarchy in the SDK to enhance code consistency
* org.forgerock.opendj.ldap package:
** Rename FutureResult to LdapPromise
** Rename FutureResultImpl to LdapPromiseImpl and move it to org.forgerock.opendj.ldap.spi
** Rename the util class FutureResultWrapper to LdapPromises and move it to org.forgerock.opendj.ldap.spi package
** Solve some bugs in HeartBeatConnectionFactory class
org.forgerock.opendj.ldap.spi
** Merge old LDAPFutureResultImpl and AbstractLDAPFutureResultImpl and rename it as ResultLdapPromiseImpl
** Remove AbstractLDAPFutureResultImpl, LDAPFutureResultImpl and LDAPCompareFutureResultImpl
** Rename LDAP[Bind | Extended | Search]FutureResultImpl to [Bind | Extended | Search]ResultLdapPromiseImpl
** Add static methods in LdapPromises to return *LdapPromiseImpl instances