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
tree: 75038973721927630f25b8b2cb8ad97442a38c9e
  1. examples/
  2. lib/
  3. profiles/
  4. runtimes/
  5. security/
  6. services/
  7. tools/