Add an optional max_processes parameter to setMultiProcessing()

This patch adds an optional parameter to setMultiProcessing() to control the number of worker processes in the pool.  Defaults to None, which leads to one worker for every CPU available (as the Python multiprocessing module does).  On some multi-user systems, it is not polite to spawn that many workers.