Major refactor of code
This PR implements a major refactoring of the code to put all of the hard work into the ECPAuthSessionMixin
object, which not intercepts a redirect inside the Session.resolve_redirects
method. This allows for much easier handling of connections to different hosts (as in the case of the ECP roundtrip) and passing cookies from one to the other.
This allows us to support the gitlab shibboleth callback in place for gitlab instances that support shib.
This is a minor abuse of that method, since we don't support the yield_requests
parameter properly.