Minor exception handling bug in astropy.utils.data

Minor bug in the Exception handling in `astropy.utils.data.download_file()`. To reproduce:

    from astropy.utils.data import download_file
    download_file('http://astropy.org/nonexistentfile')

The code catches a `URLError` as `e` and expects `e.reason` to have attributes `errno`, `strerror` and `args`, but in this case, `e.reason` is a string. An attribute error is raised.