Fix issues with Code Block Node output ports surrounding arrays

##### Background
This pull request is mainly aimed at fixing the following defect (tracked internally):

[MAGN-1045 Output slot missing when modifying array element within same CBN](http://adsk-oss.myjetbrains.com/youtrack/issue/MAGN-1045)

Changes:
- Implemented ```GraphToDSCompiler.ParseParam``` container class
- Refactored ```GraphToDSCompiler.GraphUtilities.Parse``` method to use ```ParseParam``` class
- Refactored ```CodeBlockNodeModel.ProcessCode``` method
- Refactored ```CodeBlockNodeModel.SetPreviewVariable``` method

##### Unit testing
- A new test case have been added to ensure this fix is not broken.
- There were various unit test cases written for ```CodeBlockNode``` that directly or indirectly exercise the changes in this pull request.