Fixed copy and paste issue of code block node

Background
-----
This pull request is for fixing an [internally tracked Code Block Node issue](http://adsk-oss.myjetbrains.com/youtrack/issue/MAGN-4024). The problem was with a pasted code block node not having its preview bubble updated correctly.

The source of the problem was with how a ```NodeModel.GUID``` was updated to a different value after its ```NodeModel.AstIdentifierBase``` was generated based on a previous ```GUID``` value. This causes the preview identifier (which is used as a variable name for preview bubble) to go out of sync with the ```NodeModel.GUID``` (which was used to generate the actual variables during execution). Since the name of a preview variable is not the same as the actual variable used in execution, the retrieval of ```MirrorData``` fails.

Note that this issue is only related to preview, the actual variable is updated as expected so the downstream operation will still work as expected (see below):

![code-block-copy-and-paste-preview-issue](https://cloud.githubusercontent.com/assets/5086849/3683141/59e26bb4-12dd-11e4-9121-e1f5126d699e.png)

Unit Tests
-----
A new unit test case ```Defect_MAGN_4024``` is added to verify this fix.

Hi @lukechurch, please help review this. Thanks :)