Add custom permission denied handler

If a user has not been authenticated, an admin may want to redirect the user to a login screen instead of flashing an ugly "403 Forbidden" error. This adds a setting to perform custom behavior (e.g. call Django's redirect_to_login, display a template page, etc.) when the framework decides that the user does not have permission