Laying groundwork for undo/redo

Adds in the UndoRedoStack class for design-making purposes. Also started work on making the copy methods for Node and Relationship that will be needed to make undo and redo actually work.