added a check for the http return code + download progress report

* Check the http return code before starting a download, urllib.retrieve does not do this by default
* show a download report ' X kb downloaded of XXX total kb (XX% complete) xxx kbps'
it is what it says it is, kbps, and kb. 
if you want this changed, give me a good reason and I'll divide it all by 8.