#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
I would be in favor of toggling a css class here instead of simply inserting and removing html; I'm just getting flashbacks from when we upgraded to FA4 and I had to track down every icon we used in between the views, js, and other strange places (even server code)