httpclient patched to make it possible to override a method
Huge refactor to allow better control over URI encoding
Avoid a disposal race here
Don't parse the requestLine with URI since it may contain illegal characters