CASC-225 Restore Removed Constructor for Backwards Compatibility

Problem: We removed the two string constructor which breaks Spring Security compatibility.
Solution: Add it back as deprecated so that Spring Security can upgrade.
CASC-229 Make Front Channel SSO Optional so that backwards compatibility is maintained.

Problem: Spring Security adopters will fail to be able to drop in a new version of CAS Client for Java if this feature is enabled by default/required.
Solution: Force a fail-safe optional mode if the value is not provided.
CASC-230 Call HttpServletRequest#logout() via Reflection to Improve Backwards Compatibility with Spring Security
Updated code to abstract the reflection logic a bit more behind a strategy interface.
Merge pull request #78 from battags/CASC-225

CASC-225 Restore Removed Constructor for Backwards Compatibility
Merge pull request #80 from battags/CASC-230

CASC-230 Call HttpServletRequest#logout() via Reflection to Improve Back...
Merge pull request #79 from battags/CASC-229

CASC-229 Make Front Channel SSO Optional so that backwards compatibility...
Update notice files.
[maven-release-plugin] prepare release cas-client-3.3.3
[maven-release-plugin] prepare for next development iteration
CASC-200 Create a ConfigurationStrategy to allow for pluggable configurations.

Problem: The lookup strategy for configuration is hard-coded into the filter, making it impossible to replace or expand.
Solution: Pull the strategies into their own classees and make it configurable.  Default to the previous strategy.

QA Notes: The current unit tests work.  New unit tests for the configuration will have to be added once the design is approved.
Added additional keys that were new from the single signout refactor.
Added missing javadoc for Protocol enumeration
Removed unused mockito dependency
Unused reference to Mockito
CASC-233 ErrorRedirectFilter Can throw Null Pointer Exception

Problem: the ErrorRedirectFilter assumes there is a root cause and will null pointer if there is not.
Solution: Only use the root cause if there is one, otherwise use the original exception.

QA Notes: Added unit test to confirm non-root cause error.
Per feedback, scoped catch block to Exception instead of Throwable
Addressed formatting feedback as well as reserved keywords.
Updated try/catch loop to log when a class is not found.
Merge branch 'master' into CASC-200-rebasefail

Conflicts:
	cas-client-core/src/main/java/org/jasig/cas/client/session/SingleSignOutFilter.java