Jasig/cas — pull request #196 by leleuj (2013-01-29 16:32:35+00:00)
Title: CAS-1188 : Make SAML support as an optional module for CAS server

This pull request is made to extract the "SAML support" from the *cas-server-webapp* and *cas-server-core* modules into the new *cas-server-support-saml* module.

I moved all the classes related to SAML in the new module and rename the ```org.jasig.cas.*``` packages into the ```org.jasig.cas.support.saml``` packages.

The only classes related to SAML and staying in the *cas-server-core* module are the ```AbstractWebApplicationService``` and the ```SamlDateUtils``` classes. The ```SamlDateUtils``` class is the "old" ```SamlUtils``` with just the "date" methods.

The dependencies related to SAML : *opensaml*, *xmlsec*, *xmldsig* and *jdom* have been moved from the *cas-server-core* module to the *cas-server-support-saml* module.

The new *cas-server-webapp* module weights now 23M instead of 33M !!

I had some issue with the *cas-server-integration-memcached* module as it has a serializer for the ```SamlService``` class which is no more part of the *cas-server-core* module. As I didn't want to have in the *cas-server-integration-memcached* module a dependency on the *cas-server-support-saml* module, I defined this last dependency as provided and added a "try/catch ClassNotFoundError" around the registration of the ```SamlService``` in Kryo, displaying a warning if the error happens ("need to add the *cas-server-support-saml* module into the classpath to support SAML serialization in Kryo").

As I cleaned several SAML elements in the *cas-server-webapp* module, I will need to add some new documentation to explain how to enable "SAML support" in the CAS server.

All unit tests pass.
I did several tests on regular CAS behaviours (using my demo : https://github.com/leleuj/cas-overlay-demo), but I didn't know the good way to test SAML (1.1, Google) support.
@serac : can you give me some inputs for testing ? Thx