Fix defadvice code snippet in commentary.
Use define-derived-mode and define-minor-mode for undo-tree visualizer.
Set inhibit-read-only when creating diff view.

Fixes diff view when diff-default-read-only option is set.
Switch order of diff comparision in diff display.
Fix inverted key bindings.
Temporarily disable diff wto speed up undoing-to-x.
Make undo-tree-visualizer-[undo|redo]-to-x work in selection mode.
Fix diff after undo-tree-visualize-[undo|redo]-to-x in selection mode.
Add undo-tree-visualizer[-mouse]-select functions to select node at pos or click.
Remove unused variable.
Set protected-local property on various visualizer variables.

Prevents them being cleared by undo-tree-visualizer-mode, so can now set them
before calling it from undo-tree-visualize, making
undo-tree-visualizer-mode-hook more useful. E.g. can add
undo-tree-visualizer-selection-mode to this hook to enable selection-mode by
default.
Don't restore undo history from file when reverting buffer.

revert-buffer explicitly sets buffer-undo-list to nil, so trying to restore
the undo tree from file is arguably the wrong thing to do. Plus this avoids
trying (and failing with a message) to load the undo history when other Emacs
functions revert the buffer (e.g. Magit).
Fix formatting bug in absolute timestamps.
Update comment about Emacs version required for persistent history.