DDG/Trace Analysis

**Changelog**

* Added mod-nodes
* Par and Memo nodes work now
* Added dependency tracking
* Added command line params
* Added side-by-side diff for traces (so we can inspect change propagation)
* Added framework for further analysis

Tracking of bound variables is broken since this merge, will be fixed soon. 

**How to run**

For help use: 

bin/visualization.sh --help 

Sample run: 

Single: bin/visualization.sh -a quicksort
Diff: bin/visualization.sh -a quicksort -d

**Short explanation for UI**

Select mutation round from combo box. 
Click node for details in lower panel
Black edges: Control dependency. 
Red edges: Mod dependencies (mod <-> write or read <-> write) 
Dashed edges: Bound free vars, whereas color corresponds to color of description

If two different DDGs are selected in diff mode, the program will show intrinsic trace distance and distance accomplished by TBD change propagation in the lowermost panel. 
Removed/Added nodes will be highlighted in yellow/red. 

Scroll by dragging the mouse. 
Zoom with the scroll wheel. 

**Additional notes**

Changed the type signature of Par/Parer, since the forward reference of ```U``` was causing problems with type inference in some cases after macro application. ```U``` is now bound as soon as ```and``` is called.