Implementation of graph preview

Implement the graph preview functionality
1. The changeset computer performs static analysis of the Delta ASTs against the live VM graphnodes
2. The affected guids computed by the changeset computer is the data to be passed to the UI
3. Write testcases for the changeset computer

Luke, note that I added an API to LiveRunner which is PreviewGraph(). This is what is supposed to be called by the UI when a preview event is triggered. Synonymous to  Run button calling UpdateGraph() 
@lukechurch @ke-yu 
ProtoScriptTestRunner shouldn't be used in production code.