Single sign on login support, part one

This provides the beginnings to SSO login:

1) Canvas create user to ensure the accounts stay in sync (subject to change with team discussions on finalizing this design. Currently tries to enroll in course too.)

2) A method for the CAS server to check credentials. Needed for sso to work at all.

3) It does NOT use the CAS server for main platform itself. That will be a separate part two PR.
Ditto on the above comment.  I'm uncomfortable pushing this prototype / proof-of-concept code to staging without a way to make sure i doesn't end up in production.