veyron/services/store: Streaming put mutation api.

Previously, PutMutations took an array of mutations and applied them
within a transaction. Unfortunately, this api was memory-bound.
PutMutations now takes a stream of mutations, and applies them within a
transaction.
Specifics:
 - Forbids duplicate mutations on the same id.
 - Supports cancellation. If the request is cancelled in a timely
   fashion, any mutations received will not be committed.

Additionally, the estore api which extends veyron2/services/store.Store
has been replaced with a raw access api.
Specifics:
 - veyron/services/store/raw.Store supports Watch and PutMutations.
 - The raw store is mounted at extension (".store.raw"). This prevents
   non-sync clients from inadvertently discovering the raw api.

Change-Id: I6575a0ca43c220239ea90c84e6c10329c625dfbe
29 files changed
tree: ef552f6418d9ac49478b3727ea9b055e3cb3c54e
  1. examples/
  2. lib/
  3. runtimes/
  4. security/
  5. services/
  6. tools/