Prior to this EM was happily making HTTPS requests while ignoring server certificate info. Shocking, I know.
Because net-http-persistent 2.8 doesn't unescape `user/password` values, we override those accessors on the URI instance to return raw values. References drbrain/net-http-persistent#48
The "already initialized constant NET_HTTP_EXCEPTIONS" and related warnings would pop up due a circular references triggered by autoloading. References #343
From the docs: "Multiple Net::HTTP::Persistent objects will share the same set of connections." http://docs.seattlerb.org/net-http-persistent/Net/HTTP/Persistent.html
It seems whether the request method for Typhoeus request is `:put` or "PUT" decides whether it will use "Expect: 100-continue" when performing that request. In our test suite, such PUTs would fail randomly against WEBrick which doesn't have stable support for 100 Continue. This seems to be a problem with WEBrick, not Typhoeus. This also speeds up these requests, which WEBrick was slow to process even if they've succeeded. "Expect: 100-continue" is a mode where the client sends this header, but doesn't send the body of the request until the server inspects the headers and decides it wants to allow the request by sending "HTTP/1.1 100 Continue" back.
Re-enable timeout test because drbrain/net-http-persistent#33 got fixed in net-http-persistent 2.8