0a4bfe65c4
This revamps the way proxy handling is done to allow us to just proceed as normal, and then if we get HTTP errors that indicate that we need a proxy or need proxy credentials, we ask for them and then retry everything. We still try to auto-detect the need for a proxy on our very first invocation because on the first invocation, a failure to fetch a URL may well indicate that a proxy is needed, but that same assumption does not hold on subsequent invocations. In those later cases, it's probably just a transient network failure and it would be weird and annoying to pop up the "please provide proxy config" dialog in those cases. Thanks pb00068 for getting this ball rolling, even though once again I have nearly entirely rewritten the PR. I need to kick that habit. :)