Move local download stuff to new downloader.py file and add a basic file downloader with progress bar.
Put local file writing in try/except block to catch OSErrors.