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
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
Merge pull request #86 from battags/CASC-200-rebasefail

CASC-200 Introduce Mechanism to Indicate Method of Configuration