Update to pysaml2-2.1.0

This is mainly derived from lgs's patch series.
Merge commit '92ab4416ff360ddd03498b30f5ba6679b2ca3782' into pysaml2

Conflicts:
	djangosaml2/tests/__init__.py
Merge commit '92dcbebd09a1e22cae54a5ad26565ae37feb4a42' into pysaml2

Conflicts:
	djangosaml2/views.py
Merge commit '9c7a56f307d9adfd828de1c4cf533c70be785e8a' into pysaml2

Conflicts:
	djangosaml2/tests/__init__.py
Merge commit '81491be79ffff1873722c4e46d4b440391ed3d9c' into pysaml2
Merge remote-tracking branch 'remotes/origin/master' into pysaml2
look up the xmlsec1 path with `get_xmlsec_binary`
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.