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.
Instead of adding this to the real code, in a way that I don't think will actually be the final way, I think we should add a unit test for create user just to show that it works.  I would hate to lose track of this snippet and end up with it in production.