Support the use of a Session for connection re-use.

I noticed that the NTLM challenge-response was being repeated for every request, because the authenticated connection wasn't being reused. This change adds support for passing in a Session, such that both the NTLM challenge-responses and subsequent requests make use of the same connection pool.

I've tested this with a local NTLM server.