Allow "trees" to not have a single root node.

This is useful for restorating portions of a tree. A synthetic root node
is inserted to ensure that the zipper is always dealing with a tree with
a single root node.

Also add a version number to the manifest.
Fill out the save fn

Checks if the object already exists before trying to upload
Add save command.

Also switch to using tree/visit-tree rather than flatten-tree
Remove tree/flatten-tree