Support custom node loading in recorded test cases

Background
-----
This pull request added the support to load custom node in each recorded test case. It is meant to address the following defect tracked internally:

* [MAGN-3185 Enhance recorded test to support DYF preloading](http://adsk-oss.myjetbrains.com/youtrack/issue/MAGN-3185)

Example Usage
-----
The following code illustrates the way to load relevant custom nodes before recorded test starts running:

```cs
[Test, RequiresSTA]
public void TestToSeeIfJunReadsMyEmail()
{
    // Call "LoadCustomNodes" method to specify a list of custom node files
    // to load when DynamoController is created later in RunCommandsFromFile.
    // 
    LoadCustomNodes(new string[]
    {
        @"C:\SomePaths\CustomNode1.dyf",
        @"C:\SomeOtherPaths\CustomNode2.dyf"
    });

    // Loads and runs the recorded command file...
    RunCommandsFromFile("JunsFavoriteCommandFile.xml");

    // Regular assertion statements go here...
}
```