Use a pool of workers to process new circuits

Launching new processes quickly becomes unwieldy when build_delay is low.
Are you using a process pool because the invocation of separate processes comes with too much overhead? If so, then this should be a fine.
(I'm also wondering if `apply_async`'s callback parameter could replace the module process sending back `(None,None)` over the queue. But I can look into that myself.)