Support the latest pub_semver (#1890)

This rewrites failures' incompatibility graphs so that they refer to
real version numbers rather than the pessimistic ranges that
pub_semver can now generate.
diff --git a/lib/src/pubspec.dart b/lib/src/pubspec.dart
index 65d3253..b751755 100644
--- a/lib/src/pubspec.dart
+++ b/lib/src/pubspec.dart
@@ -302,16 +302,15 @@
     if (sdkConstraint.includeMax) return false;
     if (sdkConstraint.min != null &&
         sdkConstraint.min.isPreRelease &&
-        sdkConstraint.min.major == sdk.version.major &&
-        sdkConstraint.min.minor == sdk.version.minor &&
-        sdkConstraint.min.patch == sdk.version.patch) {
+        equalsIgnoringPreRelease(sdkConstraint.min, sdk.version)) {
       return false;
     }
     if (sdkConstraint.max == null) return false;
-    if (sdkConstraint.max.isPreRelease) return false;
-    return sdkConstraint.max.major == sdk.version.major &&
-        sdkConstraint.max.minor == sdk.version.minor &&
-        sdkConstraint.max.patch == sdk.version.patch;
+    if (sdkConstraint.max.isPreRelease &&
+        !sdkConstraint.max.isFirstPreRelease) {
+      return false;
+    }
+    return equalsIgnoringPreRelease(sdkConstraint.max, sdk.version);
   }
 
   /// Parses the "environment" field in [parent] and returns a map from SDK