Track filesizes in ChanThreads

chanarch.py (ChanThread):
  - Add files dictionary to track file attributes

  __init__():
    - Initialize files dictionary

  update_info():
    - Build files dictionary from the JSON

  download_files():
    - Use the files dictionary
    - Store filesizes returned from downloading in the files dictionary
    - Pass filesizes from the files dictionary to the Downloader

chanarch.py (Downloader):
  download():
    - Accept and check against a filesize argument
    - Return the size of the downloaded file
    - Check for a 200 code when getting the headers
Save file info to speed up downloads

chanarch.py (ChanThread):
  - Save and load file info from a thread-specific JSON file between
    sessions

  __init__():
    - Load file info from JSON

  save_fileinfo():
    - New method
    - Save file info dictionary to JSON

chanarch.py (Downloader):
  download():
    - Print debug message if skipping downloaded file

chanarch.py (__main__):
  - Save thread info after downloading each thread