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 
This is confusing reachability and delta computation. We need to be consistent about what we're talking about.

This code if I understand its intention correctly generates a set of GUIDs that would be affected by passing the deltaASTs from the argument in?

If that is the case, then it should be called

ComputeNodesAffectedByASTList

the deltaGraphNodeList is actually the affectedGraphNodeList

==

Then you're trying to do reachability analysis to propagate that impact down to its subnodes? What strategy are you taking where it's undecidable?

if (random() > 0.5) { return = a; } else { return = b; }

I would recommend conservative estimation, but we need a decision and a test case