Undoable commands

Any command that manipulates the state of the Dependency Graph and its nodes, including the DAG, should implement an undo operation to reverse its actions.

The command should implement undoIt(), which undoes the command operations, and isUndoable(), which returns True to indicate that the command is undoable and that its actions should be added to Maya's undo queue.