veyron2/storage: Introduce directories.
The store now has separate directories from objects. For a thorough discussion, see:
https://docs.google.com/a/google.com/document/d/1dbUC-giF3JJ5c7GVwJEVll14LCd-1Pe3Hpo9nngbd0s/edit#
This change also removes the Store type from model.go. We found the
asymmetry between transactional and non-transactional operations to
be annoying. Specifically, transactional operations would work entirely
with relative paths, but non-transactional operations would need an
absolute paths. Now, everything revolves around a Dir. Typically,
the main() of the program will create a root Dir with vstore.BindDir().
This root Dir will be passed around and used to bind to descendant
Dirs and Objects and create transactions.
I disabled the examples and qsh tool that depend on the old API. I'll
rewrite them in subsequent changes.
Change-Id: I50bc0426f91cc0defca21a0bc624ce9eb9a50a96
11 files changed