MAGN-882 Fixes "Pressing Escape, first double click did not create CBN"
Also changed Double Click Time to Windows Mouse Settings on Mouse Click
Watch node implementation for DS Nodes

1. BuildAst methods just returns a simple assignment for the input node.
2. Registers PropertyChanged notification for this node.
3. When "IsUpdated" property of this node is changed, it dispatches the
AstNode processing for it's input node.
4. Using MirrorData it populates a WatchNode instance for the given
node.
Merge branch 'ChocoButter' of https://github.com/ikeough/Dynamo into ChocoButter
Merge branch 'ChocoButter' of https://github.com/ikeough/Dynamo into ChocoButter
Merge branch 'ChocoButter' of https://github.com/ikeough/Dynamo into ChocoButter
Ensure that watch and watch3Dd nodes are available

Added [IsDesignScriptCompatible] attribute on Watch and Watch3D nodes,
so that they are available in library view and search.
Updated Math.dll with static class Math

So that no constructor is shown in Dynamo.
Rewrite CheckIsDoubleClick for clearer intents.
Added 3 test cases generated from defects.
Merge pull request #852 from l2obin/MAGN-882

MAGN-882 Fixes "Pressing Escape, first double click did not create CBN"
Merge pull request #856 from ambarish-prakash/CBNDefects

Cbn defects
Merge pull request #861 from sharadkjaiswal/ChocoButter

Watch node implementation for DS Nodes
Merge pull request #875 from riteshchandawar/ChocoButter

Added 3 test cases generated from defects.
Fix library loading issue in new sessions
Implemented DSMaterial
Make public constructor statuc in DSMaterial, Implement DSGrid
Public properties and regions for DSGrid
Regions for DSMaterial
Added DSWallType, made sure FromExisting static constructors had IsRevitOwned argument
Implement DSWall