Rescue a variety of potential errors when trying to download, ranging from
upstream connect errors, protocol errors, packet loss problems, early
connection drops and so on.

Also fix Net::ReadTimeout trouble with going for superclass
Timeout::Error, which will work in Ruby 1.9.x as well.