bug 845918: Switch to multi-process work queue for evaluating macros

Okay, I think this is finally at a point where it can be considered as a PR.

The gist of this change: 
* Before, kumascript ran as multiple server processes, each of which took care of evaluating all the macros in a page for a given request. 
* After this PR, kumascript runs as a single HTTP server, with a pool of processes to which the evaluation of macros are farmed out.

This brings better parallelism and isolation to running kumascript templates invoked by macros. In the near future, we can also watch each process handling a macro for time / memory / CPU consumption and kill them if they go over a threshold.

Probably best to *not* squash the multiple commits: Each has turned out to be a decent-sized change on its own, and it might help to review them one at a time rather than the entire diff in one shot.

To spot-check: Try this updated kumascript service in kuma, and the only thing you should notice (if anything) is that things might be a bit faster and errors might be a bit more detailed.