Catch URLError in http downloader.

Why socket.timeout and URLError instead of a single timeout exception?
Why urllib why?!