Added overridable createUndoable function for constructing undoable html

One more feature push - I had the desire to customize the full html for the undoable (putting 'undo' link on the left).  I could have overridden showUndo, but that pulls in a lot of other stuff I don't care about, so I abstracted out the bit that does all the html creation as "createUndoable" and made it an overridable function.  I included a unit test for it.

I had a git flub involving rebasing, but I think everything's ok now.  Let me know if there's anything uncouth about this.