Apply SSA to array indices while preserving the original array dimension

1. Apply this transform to LHS array indexing for now. This strategy
will also be applied to all array indexing SSA transforms
2. Testcases
Simply array index SSA transform
Merge branch 'master' of https://github.com/DynamoDS/Dynamo into newMaster
Merge pull request #1642 from junmendoza/newMaster

Apply SSA to array indices while preserving the original array dimension
Code refactor - moved utility methods to test fx base class
Merge pull request #1664 from aparajit-pratap/dynamoMaster

Code refactor - moved utility methods to test fx base class
Update of Tesselation samples

MAGN-2344
Null arg protection in the ASTBuilder

The internal AstBuilder method does do integrity protection on the nodes that it's assembling, which can cause failures later. Making this more brittle so that we fail when we still have the stack trace to hand
Merge branch 'master' of https://github.com/DynamoDS/Dynamo
Shouldn't have nulls in the AST List
Add verbose logging log
Add in debug logging infrastructure
UI enable for verbose logging
Add stub tests for document switch events.
Make CurrentUIDocument settable.

Our document switching behavior changed because we made the document
manager get the currently active document. Instead, we want the old
behavior where Dynamo's current document was set and only re-set in
certain limited situations during view switching.
One more stub test for document switching.
Cleanup and notes on DynamoRevit

Make sure Dynamo button is re-enabled during a crash.

Add a conditional re-enablement of the run button when switching between
documents.
Document switching logic on revit controller.

Adjust document switching logic to maintain reference to initial
document, except in the case where all documents have been closed and a
new one has been opened.
Keep geometry conversion on viz thread.

Geometry conversion should remain on the viz thread. Only pushing the
geometry to the view should be on the UI thread to avoid locking the UI
for the time it takes to do the conversion.
Do not update viz manager during...

Un-connection of connectors.
Deletion of a node.

This is a performance improvement which has the effect that geometry
belonging to nodes affected by those changes does not get cleaned up.
That geometry will only get cleaned up during the next evaluation.