remove Transactional annotation and narrow pom dependencies

the @Transactional annotation wraps the entire method in a transaction, in order for that support to be enabled and work you had to configure some optional beans in your spring config.

spring-ldap had an LDAP aware transaction manager that could be configured that would fake transactions by recording object state before applying changes so that if a rollback was required it could revert the LDAP objects to their previous state. It was very brittle transactional support, but historically we had it configured in our CAS server and this code was a direct port of that code.