#2 Authentication

Implements #2, allowing for both CAS and email/password authentication. Refer to the issue for commentary; this PR includes significant changes including guest user functionality, integration tests, and more!

Issues Resolved (please check all during review):
* #2
* #694 
* #777 
* #965 
* #973
* #1018
So you would just have us toggle the `fa-circle-o-notch` class? I'd imagine without it that class the icon doesn't do anything, although the JS might be trying to spin nothing for no reason (so maybe we take out `fa-spin` as well).