syncbase/server/watchable: watch enhancements

Various enhancements to the watchable store and its use by sync:
* Add the ability to mark whether a transaction is make by sync
  vs applications.  This allows sync to filter out its own updates
  (echo suppression) from the watch log.
* Add the ability for sync to inject into the watch log snapshot
  entries to initialize DAG metadata when a SyncGroup is created
  or joined.  These entries act as fake-puts that sync uses but
  the future app-watch API will filter out.
* Change the key of watch log entries to use one sequence number
  and update the tests accordingly.
* Make ACLs managed (versioned) keys.
* Improve testing of sync watcher and refactor some code.

Change-Id: I02f6af04c995c5a5b17857c6213b51b6e38dcf13
15 files changed
tree: 2f1ef00c9080d8ae7a9ac5ae5d4a2d38c367a55b
  1. v23/
  2. x/
  3. .gitignore
  4. AUTHORS
  5. CONTRIBUTORS
  6. LICENSE
  7. PATENTS
  8. VERSION