Adding incremental tree diffing

Also supports serialization to binary formats.
Adding docs

Internal to the module -- tree form and traversal for dist_diff