Changes in downloader.py. pluginhandler.py created. providerhandler.py created.

downloader.py

    * DownloadQueue was changed to handle provider_data dicts.
    * result queue is now blocking with timeout, after timeout stalled futures are
      checked. Done future are moved to result queue.

providerhandler.py

    * includes simple function to create a provider data object

pluginhandler.py

    * testing main.py version moved to pluginhandler.py, code clean up.