Convert hashes to hex
Change how deserialization is handled

I originally attempted to route deserialization through
pattern matching on multiple Atom implementations but
it turns out this doesn't work. Now it just switches on
the type atom inside of the Dag.Serialization module
Add serialization/deserialization support for Tree