API CHANGE: Add a PermissionFailureException that can be thrown to trigger a log-in.
FIX: Ensure that Security views respect redirections triggered by Page_Controller::init()

Sometimes Page_Controller::init() will trigger a redirection.  For example, it may redirect to a
canonical URL.  In this case, the Security views, which co-opt Page_Controller, need to respect
this.
BUGFIX Avoid infinite redirection when logging out and when showing a custom login page after displaying the draft version of a page.