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. 
I'm trying to incorporate this into another branch - but I don't understand this change.