Process pool to replace command execution threads.

Replaces #891 (which, pre cylc-6, targeted the wrong branch); closes #596

A process pool to handle execution of job submission, event handler, and poll and kill commands.
Replaces batched command execution in threads. 
It does look odd - I'll attempt to understand it later today...