switch to multiprocessing

for some reason downloading in a background thread on windows didn't
work, it just hung.  :(  So maybe it likes this better?
Generalizing the "task queue"
Return tasks
Add receiving task handler.