DiagramController: Changed mouseRelease event to call undo_redo.saveState AFTER the event. This fixes the bug where sometimes relationships would not re-attach after a redo due to actually have 2 undo states created during a mouseRelease (one from the drag changes and another from the attach change). Placing the saveState AFTER the mouseRelease event allows both these changes to combine as the user would expect.
UndoRedo, DiagramDialog, and Relationship just removed old code/includes that are no longer needed.
Correct undo/redo selected element ghosting by setting state to select state when undo/redo are done.
Add edit menu with undo/redo options. Add CTRL+S shortcut for saving a diagram. Modify diagram controller undo/redo to return whether or not anything was changed. Add messages to diagram dialog to display when undo or redo was not possible.