removed race condition between feeder thread and worker threads
daemonized all spawned threads
removed superfluous call to worker queue task_done()
changed worker queue to support iterable, iterators, and generators without having to "cast" to an interator with iter()
removed progress reporter thread due to race condition in the .join() with this queue and substituted it with thread-safe event firing and join()s on the worker threads
general code cleanup and more general exception handling for the worker threads
fixed unit tests for threaded downloader
some cleanup suggested in the PR review, and some more cleanup
Merge pull request #8 from pulp/jconnor-threaded-downloader

Jconnor threaded downloader