Partial fix for MAGN-52

Subscribe to document open and close events and cache the UIDocument on
dynRevitSettings accordingly. Disable the run button when there is no
active UI document.

Conflicts:
	src/Dynamo/DynamoController.cs
Fix for MAGN-194
Fix for MAGN-185

Fix paste command to send along correct number of ports for variable
input list nodes.
Fix for MAGN-184

Ensure string input node always has value even if it's just an empty
string.
Solution for MAGN-188

Disallow copy between .dyn files. For now.
Fix for MAGN-111

Added log write for each command.
Added static methods for creating and closing the writer.
We now write log files to a folder in the executing assembly's directory
and we DO NOT overwrite them.

Conflicts:
	src/Dynamo/Commands.cs
Only hit test visible elements.

Conflicts:
	src/Dynamo/dynBench.xaml
Hide the debug dot.
Cleanup dragcanvas.
Move the input grid up in z index to catch hits first.