Add page always generating a 500 error.

This is needed to debug a long-standing bug with character
encoding in the error message shown on server errors.
handle_error: Return UTF-8 encoded data.

Apparently, the request.error_response does not re-encode the body
like the error_page.default mechanism does. This resulted in ISO-8859-1
characters with UTF-8 HTML metadata for 500 errors translated to
Swedish.
test500: raise AssertionError to correctly end up in handle_error().
Refactor UTF-8 handling of error pages.
Merge pull request #1 from SUNET/add_test500_error_page

Add page always generating a 500 error.
Merge pull request #2 from SUNET/proper_sentry_introspection

Fix the exception introspection logging to Sentry for HTTP errors.
version 0.3.10
version 0.3.11-dev
Try and treat sub-par authentication as if SP requested ForceAuthn.

If an SSO session exists with authentication at e.g. level
'eduid.se:level:1', and the AUTHN_BROKER says the acceptable Authn
levels
for the requested AuthnContext are ['eduid.se:level:2',
'eduid.se:level:3'] it seems reasonable that the eduID IdP should
handle the request like the SP requested ForceAuthn.
Merge pull request #3 from SUNET/fix_force_authn_with_sso_session

Try and treat sub-par authentication as if SP requested ForceAuthn.
version 0.3.11
version 0.3.12-dev
Merge branch 'master' into handle_unkown_RequestedAuthnContext

Conflicts:
	src/eduid_idp/login.py
Bugfix, refactor and add lots of tests.

The bugfix is to never return an unknown context. Previously, the
requested context could be returned in some circumstances even though
the eduID IdP was not aware of the semantics of the requested context.

The refactoring and test cases were done to increase confidence in the
implementation of this crucial part of the IdP, as well as to prevent
future regressions of course.