Hooks

- Factored out the code that determines if the JSON output from a hook script is
  actually JSON.
Hooks

- Now performs a full JSON parse on hook script output before accepting it as a
  task.
Hooks

- Reduced validation to simply checking that a description attribute is present.
  This is the bare minimum for the Task(const std::string&) contructor.
Hooks

- Standardized formatting of hook input and output in debug.hooks mode.
Hooks

- Revised all event functions to use the new callHookScript method, which is
  now common to all events.
Hooks

- Bug due to missing reference & in calls to callHookScript.  Dumbass.
Hooks

- Fixed bug where the identifier "on-modify" contained some bogus UTF8.
- Ensured that every input line has a \n.
Context

- Removed the restriction that debug messages must be unique. Because it's
  insane.
TDB2

- Restored blank line for clarity, now that duplicate debug messages are allowed.
Hooks

- Added safety measure in case of a hook misfire.
- Made debug output consistent.
Hooks

- The on-exit hook can now terminate processing.