Writing test cases for element binding

@lukechurch, @ikeough

This submission adds test cases for element binding:
1). After creating elements via Dynamo and deleting the elements in Revit, we will get new elements if we run the graph again. The binding element IDs will be different.

2). After creating elements in Revit, we can select the elements in Dynamo, after running the graph, we should be able to select different elements in Revit from Dynamo and run successfully again.

3). We should be able to run the graph with changing input so that we can create different number of elements.

4). We should be able to run the graph with changing lacing strategies so that we can create different number of elements.

The first three cases are now passing but the forth one is failing and need to be fixed.

This submission also includes some test cases related to undo operation or open/switch/close documents. They are temporarily marked as inconclusive.

Please don't put support methods like this in the test classes themselves. It has tended to result in our code base rotting rather.