Rewrite of the login required mixin so that it has the same features as the other 'access' mixins.
Removed test that was checking for bad permission names. No longer needed. Added test for LoginRequiredMixin to assert that it raises PermissionDenied if raise_exception is true.