CAS-1314: Provide an abstraction on top of CASImpl.

 Refactor injected services into the abstraction.

This is so that extension of the CAS interface would be able to solely provide CAS-specific behavior, without having to redefine the entire needed services for the workflow.

More at: https://issues.jasig.org/browse/CAS-1314