Treat connection timeouts as connection failures in net-http adapter.

This PR treats `Net::OpenTimeout` on newer 2.x versions of Ruby as a connection
failure, without changing the behavior on older versions of Ruby.  This allows one
to distinguish between `:open_timeout` connection timeouts and `:timeout` request
timeouts.