Added support for undo mode

setMode to MODE_MERGE will merge every new operation into a single undo
level.
setMode to MODE_ONCE will merge sequential operations on the same
property in a single undo level.
setMode to MODE_NORMAL will only merge default "move" operations
(delete+add) from sorting operations.
setMode to MODE_IGNORE will not create undo levels for the changes.