Remove duplicate threads before downloading

chanarch.py (ChanThread):
  get_threadid():
    - New method
    - Return a tuple of the board and thread number, for use in indexing

chanarch.py (__main__):
  - Use a dictionary instead of a list to hold threads to remove
    duplicates