Remove dependency on quiver. (#82)

The dart2js_info package is included in the Dart SDK. This reduces the dependencies on other third-party packages.
diff --git a/lib/deferred_library_check.dart b/lib/deferred_library_check.dart
index bd698c7..8a7e98b 100644
--- a/lib/deferred_library_check.dart
+++ b/lib/deferred_library_check.dart
@@ -38,20 +38,18 @@
 /// 'baz'.
 library dart2js_info.deferred_library_check;
 
-import 'package:quiver/collection.dart';
-
 import 'info.dart';
 
 List<ManifestComplianceFailure> checkDeferredLibraryManifest(
     AllInfo info, Map manifest) {
-  var includedPackages = new Multimap<String, String>();
-  var excludedPackages = new Multimap<String, String>();
+  var includedPackages = new Map<String, Set<String>>();
+  var excludedPackages = new Map<String, Set<String>>();
   for (var part in manifest.keys) {
     for (var package in manifest[part]['include'] ?? []) {
-      includedPackages.add(part, package);
+      (includedPackages[part] ??= {}).add(package);
     }
     for (var package in manifest[part]['exclude'] ?? []) {
-      excludedPackages.add(part, package);
+      (excludedPackages[part] ??= {}).add(package);
     }
   }
 
@@ -77,10 +75,11 @@
     return partNameFailures;
   }
 
-  var mentionedPackages = new Set()
-    ..addAll(includedPackages.values)
-    ..addAll(excludedPackages.values);
-  var actualIncludedPackages = new Multimap<String, String>();
+  var mentionedPackages = {
+    for (var values in includedPackages.values) ...values,
+    for (var values in excludedPackages.values) ...values
+  };
+  var actualIncludedPackages = new Map<String, Set<String>>();
 
   var failures = <ManifestComplianceFailure>[];
 
@@ -97,7 +96,7 @@
         containingParts.addAll(info.outputUnit.imports);
       }
       for (var part in containingParts) {
-        actualIncludedPackages.add(part, packageName);
+        (actualIncludedPackages[part] ??= {}).add(packageName);
         if (excludedPackages[part].contains(packageName)) {
           failures
               .add(new _PartContainedExcludedPackage(part, packageName, info));
@@ -109,10 +108,12 @@
   info.functions.forEach(checkInfo);
   info.fields.forEach(checkInfo);
 
-  includedPackages.forEach((part, package) {
-    if (!actualIncludedPackages.containsKey(part) ||
-        !actualIncludedPackages[part].contains(package)) {
-      failures.add(new _PartDidNotContainPackage(part, package));
+  includedPackages.forEach((part, packages) {
+    for (var package in packages) {
+      if (!actualIncludedPackages.containsKey(part) ||
+          !actualIncludedPackages[part].contains(package)) {
+        failures.add(new _PartDidNotContainPackage(part, package));
+      }
     }
   });
   return failures;
diff --git a/pubspec.yaml b/pubspec.yaml
index 0e6e222..2d00e84 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -17,7 +17,6 @@
   fixnum: ^0.10.5
   path: ^1.3.6
   protobuf: ^1.0.1
-  quiver: '>=0.29.0 <3.0.0'
   shelf: ^0.7.3
   shelf_static: ^0.2.4
   yaml: ^2.1.0