Reintroduce undo-tree

Turns out that undo-tree is more than a graphical representation of the tree.
Emacs undo uses a different model that I don't wish to learn. undo-tree
replaces the underlying undo functionality with a vim like system.