Improve error messages.  BZ 832491
Improve error messages.  BZ 832491

Curl does not always provide text descriptions in its error messages.
urlgrabber translates HTTP response codes to text, but not FTP codes.
Add text description of the curl error code as a fallback.

URLGrabError(14, 'FTP Error 530') becomes
URLGrabError(14, 'FTP Error 530 - Authentication failure') or
URLGrabError(14, 'FTP Error 530 - Access denied: 530') when curl is fixed.

Also make server-side exceptions more consistent with other exceptions,
remove failed URL from the message and put it into an .url attribute.

Distrotech/urlgrabber,oe-lite/urlgrabber,henrysher/urlgrabber,oe-lite/urlgrabber,henrysher/urlgrabber,Distrotech/urlgrabber,Distrotech/urlgrabber,henrysher/urlgrabber,tradej/urlgrabber,Distrotech/urlgrabber,oe-lite/urlgrabber,henrysher/urlgrabber,tradej/urlgrabber,tradej/urlgrabber,oe-lite/urlgrabber