swift/ref: Implement decodeId in CGO layer

Instead of replicating the Go logic in Swift (and Java), wrap the
existing util.DecodeId in a CGO-accessible method.

Also renames Id.swift to Identifier.swift.

Closes vanadium/issues#1400

MultiPart: 1/2
Change-Id: I1877c609c49043fc9f20121d91de335a0a976bf3
diff --git a/services/syncbase/bridge/cgo/impl.go b/services/syncbase/bridge/cgo/impl.go
index 5bf9b52..cc36185 100644
--- a/services/syncbase/bridge/cgo/impl.go
+++ b/services/syncbase/bridge/cgo/impl.go
@@ -1086,6 +1086,16 @@
 ////////////////////////////////////////
 // Misc utilities
 
+//export v23_syncbase_DecodeId
+func v23_syncbase_DecodeId(cName C.v23_syncbase_String, cDecoded *C.v23_syncbase_Id, cErr *C.v23_syncbase_VError) {
+	id, err := util.DecodeId(cName.extract())
+	if err != nil {
+		cErr.init(err)
+	} else {
+		cDecoded.init(id)
+	}
+}
+
 //export v23_syncbase_Encode
 func v23_syncbase_Encode(cName C.v23_syncbase_String, cEncoded *C.v23_syncbase_String) {
 	cEncoded.init(util.Encode(cName.extract()))