Catch SIGTERM to gracefully clean up child processes & exit
Merge pull request #25 from lmorchard/graceful-exit-on-sigterm

Catch SIGTERM to gracefully clean up child processes & exit
bug 845918: Simplify templates test
bug 845918: Ensure a macro with JSON parameter gets exercised
bug 845918: In cached request, consider cached response as revalidated on 304 from origin server; misc bugfixes
bug 845918: Add node-hirelings module
bug 845918: Rework MacroProcessor and associated tests to evaluate macros in child processes
bug 845918: Simplify run.js and refactor REPL out into its own module
bug 845918: Ensure numWorkers, workerConcurrency, and workerMaxJobs server settings are supported
bug 845918: Include the error call stack in macro execution error message
Merge pull request #27 from lmorchard/845918-macro-process-cluster

bug 845918: Switch to multi-process work queue for evaluating macros
bug 845918: Move exception classes from macros to new errors module
bug 845923: Upgrade node-statsd
bug 845923: Sprinkle statsd measurements everywhere
bug 845918: Update node-hirelings to get the retries option
bug 845923: Use the new Pool.getStats() method from node-hirelings
bug 845918: Attempt to retry failed macros several times
bug 845923: Ensure a statsd instance is available wherever needed
Merge pull request #28 from lmorchard/845918-macro-process-cluster

Tests and spot-check works for me. Let's give this another go.
bug 866459: Tweak retries and max jobs per process