Diffs Part Two

This does a couple things: 

* Deals with added nodes to a diff
* Deals with deleted nodes
* Adds some basic layers to diffs. 

A couple caveats: 
* This needs more tests, and tests that unit test a little bit better.