syncbase: (mostly) finish implementing cgo bridge

Remaining work:
- Implement stubbed-out methods in types.go
- Implement syncgroup methods
- Build a small demo app to make sure everything actually
  works end-to-end :)

MultiPart: 3/3
Change-Id: I2475d9e3196bfa8dfb834182af7bbabf4306622f
diff --git a/mojom/syncbase.mojom b/mojom/syncbase.mojom
index 0398ae4..0e33d02 100644
--- a/mojom/syncbase.mojom
+++ b/mojom/syncbase.mojom
@@ -21,7 +21,7 @@
 };
 
 // TODO(sadovsky): Decide how to represent perms.
-struct Perms {
+struct Permissions {
   string json;
 };
 
@@ -42,7 +42,7 @@
 
 struct SyncgroupSpec {
   string description;
-  Perms perms;
+  Permissions perms;
   array<CollectionRow> prefixes;
   array<string> mount_tables;
   bool is_private;
@@ -112,14 +112,14 @@
   ////////////////////////////////////////
   // Service
 
-  ServiceGetPermissions() => (Error err, Perms perms, string version);
-  ServiceSetPermissions(Perms perms, string version) => (Error err);
+  ServiceGetPermissions() => (Error err, Permissions perms, string version);
+  ServiceSetPermissions(Permissions perms, string version) => (Error err);
   ServiceListDatabases() => (Error err, array<Id> databases);
 
   ////////////////////////////////////////
   // Database
 
-  DbCreate(string name, Perms perms) => (Error err);
+  DbCreate(string name, Permissions perms) => (Error err);
   DbDestroy(string name) => (Error err);
   DbExists(string name) => (Error err, bool exists);
   DbListCollections(string name, string batch_handle)
@@ -128,14 +128,16 @@
       string name, string batch_handle, string query,
       array<array<uint8>> parameters, ExecStream stream)
       => (Error err);
-  DbBeginBatch(string name, BatchOptions? bo)
+  DbBeginBatch(string name, BatchOptions opts)
       => (Error err, string batch_handle);
   DbCommit(string name, string batch_handle) => (Error err);
   DbAbort(string name, string batch_handle) => (Error err);
   DbPauseSync(string name) => (Error err);
   DbResumeSync(string name) => (Error err);
-  DbGetPermissions(string name) => (Error err, Perms perms, string version);
-  DbSetPermissions(string name, Perms perms, string version) => (Error err);
+  DbGetPermissions(string name)
+      => (Error err, Permissions perms, string version);
+  DbSetPermissions(string name, Permissions perms, string version)
+      => (Error err);
   DbWatchGlob(string name, GlobRequest req, WatchGlobStream stream)
       => (Error err);
   DbGetResumeMarker(string name, string batch_handle)
@@ -166,14 +168,14 @@
   ////////////////////////////////////////
   // Collection
 
-  CollectionCreate(string name, string batch_handle, Perms perms)
+  CollectionCreate(string name, string batch_handle, Permissions perms)
       => (Error err);
   CollectionDestroy(string name, string batch_handle) => (Error err);
   CollectionExists(string name, string batch_handle)
       => (Error err, bool exists);
   CollectionGetPermissions(string name, string batch_handle)
-      => (Error err, Perms perms);
-  CollectionSetPermissions(string name, string batch_handle, Perms perms)
+      => (Error err, Permissions perms);
+  CollectionSetPermissions(string name, string batch_handle, Permissions perms)
       => (Error err);
   CollectionDeleteRange(
       string name, string batch_handle, array<uint8> start, array<uint8> limit)