Returns a VersionConstraint that allows Versions allowed by this but not other.
VersionConstraint
other
@override VersionConstraint difference(VersionConstraint other) => other.allows(this) ? VersionConstraint.empty : this;