Object storage. Contains a single hatchery and possibly a number of
mature space blocks, usually in form of packs. It also keeps a list of root
pointers and has a way to extract pointers from objects (externally
supplied). These last two things are used to implement a simple GC.

Read a Tree in the darcs hashed format from an object storage. This is
basically the same as readDarcsHashed from Storage.Hashed, but uses an
object storage instead of traditional darcs filesystem layout. Requires the
tree root hash as a starting point.

Write a Tree into an object storage, using the darcs-style directory
formatting (and therefore darcs-style hashes). Gives back the object storage
and the root hash of the stored Tree. NB. The function expects that the Tree
comes equipped with darcs-style hashes already!