Remove dependency on ITextView from UndoRedoOperations

Undo is associated with an ITextBuffer at its core.  Yet VsVim had
associated it with the ITextView through its dependency on
IEditorOperations.  This separated the concerns a bit nicer and added
the one view specific function that needed to be added
Moved undo down to IVimTextBuffer

Undo rightfully belongs in the buffer layer not the view.   This is how
the core editor associates undo and we were simply creating problems by
associating it with the ITextView instead.  This change moves undo down
to the IVimTextBuffer which is the logical pair for ITextBuffer.  Now
all IVimBuffer instances over the same ITextBuffer share the same undo
information.