Test downloaded file for corruption and retry 5 times

These changes should fix #102.  
The '$? -eq 0' condition checks the result of the download_source function.  If it is successful, then it will leave the loop and continue to process the downloaded file.