1. Introduced "Serialize/Deserialize" methods (and their protected virtual Core methods) to "ModelBase" class
2. Implemented SerializeCore method for PortModel, NoteModel, NodeModel and ConnectorModel classes
1. Implemented "DeserializeCore" method for ConnectorModel, NodeModel, NoteModel and PortModel
2. Introduced "DynamoModel.GetNodeFromCurrentSpace" method for NodeModel retrieval (NodeModel.DeserializeCore)
3. Unlike "SerializeCore" methods, "DeserializeCore" has yet been tested (will hook test it before pull)
1. Introduced "Serialize/Deserialize" methods (and their protected virtual Core methods) to "ModelBase" class
2. Implemented SerializeCore method for PortModel, NoteModel, NodeModel and ConnectorModel classes
1. Implemented "DeserializeCore" method for ConnectorModel, NodeModel, NoteModel and PortModel
2. Introduced "DynamoModel.GetNodeFromCurrentSpace" method for NodeModel retrieval (NodeModel.DeserializeCore)
3. Unlike "SerializeCore" methods, "DeserializeCore" has yet been tested (will hook test it before pull)
Added UndoRedoRecorder class with skeleton implementation.
1. Implemented UndoRedoRecorder class and defined IUndoRedoRecorderClient interface
2. Added DummyModel, DummyWorkspace, UndoRedoRecorderTests classes to test UndoRedoRecorder class
3. Implemeneted two test cases in UndoRedoRecorderTests, more to follow in immediate commits
Merge branch 'model_xml' of https://github.com/Benglin/Dynamo into model_xml
Added 5 new test cases for UndoRedoRecorder
1. Introduced "Serialize/Deserialize" methods (and their protected virtual Core methods) to "ModelBase" class
2. Implemented SerializeCore method for PortModel, NoteModel, NodeModel and ConnectorModel classes
1. Implemented "DeserializeCore" method for ConnectorModel, NodeModel, NoteModel and PortModel
2. Introduced "DynamoModel.GetNodeFromCurrentSpace" method for NodeModel retrieval (NodeModel.DeserializeCore)
3. Unlike "SerializeCore" methods, "DeserializeCore" has yet been tested (will hook test it before pull)
1. Introduced "Serialize/Deserialize" methods (and their protected virtual Core methods) to "ModelBase" class
2. Implemented SerializeCore method for PortModel, NoteModel, NodeModel and ConnectorModel classes
1. Implemented "DeserializeCore" method for ConnectorModel, NodeModel, NoteModel and PortModel
2. Introduced "DynamoModel.GetNodeFromCurrentSpace" method for NodeModel retrieval (NodeModel.DeserializeCore)
3. Unlike "SerializeCore" methods, "DeserializeCore" has yet been tested (will hook test it before pull)
Added UndoRedoRecorder class with skeleton implementation.
1. Implemented UndoRedoRecorder class and defined IUndoRedoRecorderClient interface
2. Added DummyModel, DummyWorkspace, UndoRedoRecorderTests classes to test UndoRedoRecorder class
3. Implemeneted two test cases in UndoRedoRecorderTests, more to follow in immediate commits
Added 5 new test cases for UndoRedoRecorder
Merge branch 'model_xml' of https://github.com/Benglin/Dynamo into model_xml

Conflicts:
	src/DynamoCore/Models/DynamoModel.cs
	src/DynamoCore/Models/NodeModel.cs
	src/DynamoCore/Models/NoteModel.cs
	src/DynamoCore/Models/PortModel.cs
Resolved conflicts in NodeModel.cs, NoteModel.cs and PortModel.cs
1. Added new test cases for deletion/modification undo scenarios.
2. Implemented new interface method "IUndoRedoRecorderClient.GetModelForElement".
Added test case "TestModificationUndoRedo01" to test undo/redo on multiple modifications
1. Added Undo/Redo/CanUndo/CanRedo methods to DynamoModel and WorkspaceModel
2. Added undo-redo related commands/key-bindings into DynamoView and DynamoViewModel