upstream pysaml2 syncs database after a delete
Encode/decode NameIDs

Upstream pysaml2 now represents NameIDs with a class, which
unfortunately conflicts with how sessions are cached in Django.
This PR modifies how NameIDs are stored by using pysaml2's
pysaml2.ident.code and pysaml2.ident.decode that converts NameIDs
into a string.
Fix logging out with HTTP-SOAP and HTTP-POST.
Allow for logging out with HTTP-POST

Beyond setting a default logout binding, there doesn't appear to
be a way to specify on a LogoutRequest which binding a IdP should
reply to. pysaml2's example IdP just resuses the binding that the
request came in on. So if the IdP only allows for HTTP-POST requests
it'll send a HTTP-POST reply. Therefore it makes sense to support
both HTTP-REDIRECT and HTTP-POST methods for logging out.
Merge branch 'logout' into hue
explicitly set the name id format for the tests
Merge branch 'logout' into hue