OF-353: Use RDN instead of LdapName, escape for JNDI.
In a recent commit, string-based representations of LDAP distinguished names were replaced with instances of LdapName.
User and Groups are referred to in Openfire code by relative references, RDNs. Java has a more specific implementation for that: Rdn. In this commit, Rdn replaces LdapName when group or user references are being represented.
Additionally, RDN values are properly escaped when their string representation is used in a JNDI-based lookup, which is a Java-specific requirement to working with LDAP via JNDI. This effectively solves issues with users or groups that contain the forward-slash character.
OF-353: LDAP - use javax.naming.* types instead of Strings
To represent LDAP DNs, Strings have been used. Java provides a more specific, and more suitable set of types for this purpose.
By using the types in the javax.naming package, additional functionality becomes available, and type-safety is improved throughout the code.