Issue with reused HTTPClient.SessionQuery objects

Imported from https://youtrack.roxen.com/issue/PIKE-239

Reported by Martin Karlgren marty@roxen.com

Related to PIKE-148

There seems to be issues with reused HTTPClient.SessionQuery objects. I suspect that source_stream was set in an earlier request and not properly reset.

Also, keep PIKE-148 in mind. Perhaps the connection reuse handling should be revamped there.

String data not allowed in streaming mode.
 6:02:52   1m 8.9s  : etc/modules/HTTPClient.pmod:683: HTTPClient.Session()->SessionQuery(201 Created.)->async_request("roxen-appl-community-test-archive.roxen.com",80,"POST /rest/rep.shaw.story/_search HTTP/1.1",mapping[7],,,0)
 6:02:52            : pike/lib/modules/Protocols.pmod/HTTP.pmod/Session.pike:256: Request("http://roxen-appl-community-test-archive.roxen.com/rest/rep.shaw.story/_search" - connected - 0 bytes received)->do_async(({"roxen-appl-community-test-archive.roxen.com",80,"POST /rest/rep.shaw.story/_search HTTP/1.1",@0=mapping[7],,,0}))
 6:02:52            : pike/lib/modules/Protocols.pmod/HTTP.pmod/Session.pike:886: HTTPClient.Session()->async_do_method_url("POST",URI("http://roxen-appl-community-test-archive.roxen.com/rest/rep.shaw.story/_search"),UNDEFINED,,,5)
 6:02:52            : etc/modules/HTTPClient.pmod:536: HTTPClient.Session()->async_do_method_url("POST",@2=URI("http://roxen-appl-community-test-archive.roxen.com/rest/rep.shaw.story/_search"),UNDEFINED,,,5)
 6:02:52            : etc/modules/HTTPClient.pmod:166: HTTPClient.do_safe_method("POST",@6=URI("http://roxen-appl-community-test-archive.roxen.com/rest/rep.shaw.story/_search"),HTTPClient.Arguments(),0,HTTPClient.Session())
 6:02:52   1m 8.9s  : etc/modules/HTTPClient.pmod:65: HTTPClient.sync_post(@6,@7=HTTPClient.Arguments(),@8=HTTPClient.Session())