Implement callsite runID

1. associate a runID for every callsite
2. added testcases runID testcases
ProtoAST execute imperative testcases
Merge branch 'StableBranchWithTestcases' of https://github.com/lukechurch/designscript into JunStableBranch1
Merge pull request #150 from junmendoza/JunStableBranch1

Implement callsite runID
Rename support methods

They are part of the Trace mechanism, and read/write the TLS not Trace. They've been renamed to better reflect this. Tests updated.
To make it possible to run a test script
Trace integration tests

Integration tests to verify execution on a single pass pushing the correct information into TLS
Minor fix to sanity check test case

should cast to Int64 not int
Refactoring call site to deprecate code that isn't being used

And increasing the protection on internal only methods
Add the ability to clean the TLS by injecting k -> null

Which result in the the named slot being freed
Addition of basic TLS clear

After this each dispatch should have a clear TLS - so trace can get activated for the Dynamo-Revit nodes
Migrate TLS clear to just prior to execute

So that replicated dispatches get set properly
Callsite cleanup

Refactoring and method grouping and reordering
Further refactoring

Prior to trace implementaiton
Merge branch 'StableBranchWithTestcases' of https://github.com/lukechurch/designscript into StableBranchWithTestcases
Defer SSA transform until after classname compile pass
Merge branch 'StableBranchWithTestcases' of https://github.com/lukechurch/designscript into StableBranchWithTestcases
Function redefinition tests for modified and unmodified CBN nodes
Simulates CBN being automatically and manually when a function is
redefined.
Fix the inconsistency of ICoordinateSystemEntity.ScaleFactor
Merge pull request #153 from Randy-Ma/StableBranchWithTestcases

Fix to inconsistency of ICoordinateSystemEntity