Added undo/redo keyboard shortcuts

And changed undo/redo function in UndoRedoController to work better.