Fix connection pooling behavior by reading responses from endpoints sooner

The faster we read response from endpoint and close the body, the sooner it will be released back to the pool and reused.
In addition to that we improve copying by implementing optimized WriteTo method