Refactor HttpClient stream setup

closes #16510 
This will not happen unless the HTTP server closes its writing end of the connection, but that is not what we want here: this stage should track the number of outstanding responses and upon `requestInput` completion it must wait until it receives the last `HttpResponse` and then terminate.