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.
So this is a custom version of the devise gem that you made?  I'd like to fork it and make the changes in our bz-devise gem so we have a history of the patch and can mange future devise gem upgrades.