GET /logout confirmation screen

refs CNVS-15295

Normally users will logout through the link in the upper right, which
does a DELETE request and bypasses this screen. If somebody DOES do a
GET to /logout for any reason though, we'll now display a logout
confirmation screen, rather than an error.

Also fix protect_from_forgery for saml_logout and destroy. Rather than
error when the token is bad, though, redirect to the confirmation
screen. The goal here is to try really hard to let people log out, so
they're never stuck in a situation where they got an error and now can't
see how to log out (that's a security risk).

test plan:
* The logout link in the upper right should still log you out,
without a confirmation screen.
* SAML logout should still work correctly, with both GET and POST
  requests.
* If you manually visit /logout in your browser, you'll:
  * See a confirmation screen, if logged in.
    * Confirming should log you out as expected.
  * Get redirected to /login, if not logged in.
* Login in one tab. Open a second tab, log out and back in. Back on the
  first tab, hit logout in the top right.
  * With this change, you'll see the logout confirmation screen.
  * Without this change, you would get an error.

Change-Id: I13740f35cc27caeea22470e1cedf838ad4ce771d
Reviewed-on: https://gerrit.instructure.com/40834
Reviewed-by: Cody Cutrer <cody@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Cosme Salazar <cosme@instructure.com>
QA-Review: August Thornton <august@instructure.com>