More fixes and enhancements

This adds a few fixes and some enhancements. 
It now retries failed Bitcasa API requests which caused a lot of missing files for me after the first run on a folder. The retry is throttled so it doesn't use all the API calls allowed per minute. 
It also adds timeouts to the download process so it doesn't get stuck when your internet went away for a minute or Bitcasa decides to stop sending you any more data. 
It now checks the amount of data downloaded for each file and compares it to the file size reported by the API. Last but not least it logs the progress of each download thread every minute when run in debug mode.