Process pool to replace command execution threads.

Replaces #891 (which, pre cylc-6, targeted the wrong branch)

A process pool to handle execution of job submission, event handler, and poll and kill commands.
Replaces batched command execution in threads. 
I'll change ```pool_size()``` to return the input pool size or call ```multiprocessing.cpu_count()``` in the case of the default ```None``` for a process pool.