Use gevent.queue.Queue fo distribute work

...rather than the previous algorithm of passing work at thread start time.