swift: Implement Collection.destroy, fixing HLAPI collection unit test

Implements Collection.destroy and fixes the HLAPI unit tests that
were not passing because old collections were not destroyed.

Change-Id: I1840debe661f6f027d8d72121e9f8b70b2327e03
diff --git a/Syncbase/Source/Collection.swift b/Syncbase/Source/Collection.swift
index 98ea5db..ba0f82a 100644
--- a/Syncbase/Source/Collection.swift
+++ b/Syncbase/Source/Collection.swift
@@ -31,6 +31,11 @@
     return Identifier(coreId: coreCollection.collectionId)
   }
 
+  /// Deletes the collection locally and anywhere else the collection is synced to.
+  public func destroy() throws {
+    try coreCollection.destroy()
+  }
+
   /// Shortcut for `Database.getSyncgroup(collection.collectionId)`, helpful for the common case
   /// of one syncgroup per collection.
   public func syncgroup() throws -> Syncgroup {
diff --git a/Syncbase/Tests/BasicDatabaseTests.swift b/Syncbase/Tests/BasicDatabaseTests.swift
index 2d90846..eba0109 100644
--- a/Syncbase/Tests/BasicDatabaseTests.swift
+++ b/Syncbase/Tests/BasicDatabaseTests.swift
@@ -52,13 +52,14 @@
       // Must be idempotent.
       try collection.createIfMissing()
       try collection.createIfMissing()
+      collections = try db.collections()
+      XCTAssertEqual(collections.count, 1)
       // Should be empty.
       XCTAssertFalse(try collection.exists("a"))
 
+      try collection.destroy()
       collections = try db.collections()
-      XCTAssertEqual(collections.count, 1)
-
-      // TODO(zinman): Delete collection.
+      XCTAssertEqual(collections.count, 0)
     }
   }