Hooks

- It is safe to call free() with a null pointer.
Hooks

- Correct handling for JSON and non-JSON output.
TDB2

- In debug mode, if any TF2 objects are dirty, they speak up.
Context

- Added clarifying comment to the strange test in ::verbose.
Hooks

- ::onExit now indicates whether changes were made.
Context

- If Hooks::onExit indicates changes, TDB2::commit is called.