1124625 - fail quickly if there is a connection error

Allows requests timeout settings to be configurable and set reasonable defaults. If requests does timeout (a connection error), these changes prevent requests from attempting the same base url again.
[1124625](https://bugzilla.redhat.com/show_bug.cgi?id=1124625)
This would be better as a set. If I'm reading your algorithm correctly, the current implementation will add a failed netloc repeatedly to this list, so you might end up with 10,000 items in this list that are all the same netloc. Adding an item to a set is idempotent, so you can keep your current algorithm without the side-effect of an every-growing collection.

A set is also faster to search. To search a list, python scans from item 0 to the end, but a set uses a basic hash algorithm to do a fast lookup. So line 193 below would be slightly faster with a set than a list if the collection gets large. This is unlikely to have a noticeable user impact, but it's worth doing just because a set is the right tool for this job.