Fixes redirect loop bug by adding error template

Please review and see if this is how you meant. Simply added an error template which is used instead of the login template if an error occurs. `show_login` is only used initially and by the `/login` route, and the error template contains a link "Try again" which redirects to login (keeping origin if found on `auth_params`).