this eliminates the overuse of Connection#origin, which in the case of proxied connections was broken in the previous commit
the proxy implementation got simpler, despite this large changeset
connections weren't being correctly initiated, as proxies were filtered
for the whole session based on URI.find_proxy for the first call. This
fixes it by:
* applying it to all used uris;
* falling back to proxy options instead;
* apply no_proxy option in case it's used, using
`URI::Generic.use_proxy?