Generate a callsite identifier associated with each callsite

Generate a unique string name for a callsite that appears in every node
Address coding standards
Defect fix: MAGN-3605 and MAGN-3646
Merge branch 'master' of https://github.com/DynamoDS/Dynamo into newMaster
Added comments
Updated test case for defect MAGN_3603 as API was deprecated
Minor code fixes
Removed deprecated code
Function renamed
Addressed code review comments on callsite cache
Addressed code review comments
Reinstating necessary fixes to ToString method for AST
Merge branch 'master' of https://github.com/DynamoDS/Dynamo into dynamoMaster
Add testcase for callsite reuse on changing the argument variable
Add CommonDefinitions path.

Custom nodes that are common to all users are now stored in
<ProgramData>\Dynamo\0.7\definitions. These are custom nodes like those
used for migration. The user's definitions path has been renamed to
UserDefinitions.
Enabling pre-compilation of Language blocks are supported in CBN's now
Added check to error out for modifier block nodes in CBN's as they are currently not supported
Added failing test case for defect: MAGN-3789
Update README.md
Merge pull request #1799 from aparajit-pratap/NewBranch

Added failing test case for defect: MAGN-3789