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 
I don't really understand the approach being taken here. Why are we recompiling the graph in a seperate core and then comparing it to the live core? Is this to avoid having side effects of compilation?