Ldaptive-based CredentialsToLdapPrincialResolver implementation

During the move towards ldaptive and dropping existing spring-ldap based classes, the `CredentialsToLdapPrincialResolver` was removed. This pull presents an implementation that is ldaptive based and adds a few improvements:

1. The current implementation (which is also the current CAS functionality) satisfies the use case of having an intermediary resolver before credentials are taken to ldap for full resolution. The idea is that credentials are first translated into an intermediary principal via an instance of a plugged-in resolver. The intermediate principal is then taken into ldap for resolution. For instance, if credentials are x509 certificates the intermediate principal may be constructed by the `CN` entry of the certificate, and then the final ldap principal may be constructed by a different attribute such as `uid` that is mapped to the aforesaid `CN`

2. In areas that made sense I have also opted to use instances of `IUsernameAttributenameProvider` to assist constructing of ldap queries. This is provided by the person directory project and allows the facility of calculating the username attribute to use.