Created method Downloader.assign_plugin( url ).

Created method Downloader.assign_plugin( url ), which returns a
  plugin that can handle the given url. This functionality was
  previously in Downloader.downlead_file, so this change is just
  a little refactoring.

Also stubbed an add_to_queue method.
wip Implemented a simple download queue by inheriting from list.

I'm a little uneasy about this from an architectural
  point-of-view, but it is easier than adding a queue via
  composition as all of the necessary methods are already
  implemnted by list.