ikeough/Dynamo — pull request #812 by Benglin (2013-11-22 09:39:32+00:00)
Title: Implement new recordable command: ModelEventCommand

Background
==========
This is meant to implement a new RecordableCommand to record clicking of **+** or **-** buttons on **List** node. The new command is generalized as **ModelEventCommand**. It is primarily meant to close the outstanding task:

[MAGN-402 Add test for CL](http://adsk-oss.myjetbrains.com/youtrack/issue/MAGN-402)

The defect fix that is verified with this pull request is:

[MAGN-338 Crash On undoing removed index from list node](http://adsk-oss.myjetbrains.com/youtrack/issue/MAGN-338)

Testing scenarios
=================
The following node types are involved with this commit, they should be tested:

* Perform All
* Apply Function
* Concat Strings
* List
* Combine
* Python Script With Variable Number of Inputs
* Get Parameters

Unit testing
============
* All existing test cases are passing
* The following test cases have been added:
* TestModelEventCommandAdd
* TestModelEventCommandAddRemove
* TestModelEventCommandUndo
* TestModelEventCommandUndoRedo