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