Fix SocketsHttpHandler connection pool accounting for dropped connections (dotnet/corefx#27068)
When MaxConnectionsPerServer is set to anything other than int.MaxValue, the SocketsHttpHandler pool keeps track of the number of connections handed out, and this count is updated when a connection is disposed. But if a response stream isn't disposed of, resulting in the connection never being disposed of, the count may never be updated. This fix adds an HttpConnection derived type that simply adds a finalizer, making it pay-for-play when MaxConnectionsPerServer is set to something other than the default.
Commit migrated from https://github.com/dotnet/corefx/commit/
ffa5db357252913c52e0cdad63c1573020185f6e