Fixes 1266

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