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: 2ea8d2d46caaee3e8ee9cdbf93a7764c6fd0adbe
  1. services/