Add pundit

Added Pundit. 
Replaced Declarative Authorization.
Added controller tests for all of the controllers. 
Updated the way users are added from CAS. I pulled this code from Course Cart.
I also renamed `@admin` to `@parent` to be more consistent with the other controllers.