Improve the LPPE module based on the feedback received at this pull request:
Make sure the code adheres to the CAS coding conventions and policies
Make sure adequate Javadocs are provided for all components
Internalize the LDAP error codes as much, and have specific implementations of the error classes instead of the error code in the config.
See the pull request comments for more info.
Take into account the following design ideas: