Configure devise to allow SSO login so we can send accepted users to Canvas

This uses a devise cas gem to use the same sso server as canvas, thus letting both apps use the same database as well as the same actual session. The devise cas gem is incompatible out of the box with the database devise gem we use to track passwords, so I had to patch that above the user class to allow them to live together in that model.

Once that's done, the main site can use the sso path (also in this PR) and redirect to canvas instead of the old /assignments system for the students, giving a better illusion of a single application.
> Nope, it is a stock gem. The customizations I needed are done by a monkey patch block right above the user model where we actually use it.

Got it, thanks.