Fix: MAGN-566 Editing of python nodes cannot be undone/redone

Background
==========
This pull request is meant to fix the following defect:

[MAGN-566 Editing of python nodes cannot be undone/redone](http://adsk-oss.myjetbrains.com/youtrack/issue/MAGN-566)

Along with this submission, the following enhancements will be enabled:

* Edits of **Python**, **Python Variable Input** nodes can be undone/redone
* Edits of these nodes are now recorded by command framework (for automation)

Testing scenarios
=================
* The following should be tested
 * Testing of **Python** and **Python Variable Input** nodes
 * Python auto-completion should be tested

Unit testing
============
* All existing test cases are passing
* 3 new test cases added to completely test undo-redo for Python nodes
 * TestModifyPythonNodes
 * TestModifyPythonNodesUndo
 * TestModifyPythonNodesUndoRedo