Created a dependencies folder and added protocol buffers to it.  This way, someone using Waldo will not have to install it themselves.
Added copy on write semantics for map, list, and struct.  Still should
add for other types.  Also, may want to add finer-grained copying on
write.  (Right now, just copies entire piece of data....might be
better to just copy key/value written to.)
No longer performing serialization myself: using protocol buffers.
Cleaning up previous serialization/deserialization code.
Cleaning lots of code made obsolete by protocol buffer serialization and deserialization.
Had meaningless code: would perform the same action whether was in if statement or else statement.  Cleaned up.
Using os.urandom instead of foreign functions to generate uuids.
Removed incorrect FIXME: am catching backout exceptions.