When pushing onto the undo stack, elide zero-length entries

A redo that consists of a tree of three or more linked
commands (like 'cw) can create a zero-length
'UndoRedoData.Linked' entry in the undo stack.  Allow
this to happen but correct for it when pushing the
next normal entry.

Closes #1266