Optimize PackageIdentifier hash code implementation, which has shown up in some recent profiling.

--
MOS_MIGRATED_REVID=112161558
diff --git a/src/main/java/com/google/devtools/build/lib/cmdline/PackageIdentifier.java b/src/main/java/com/google/devtools/build/lib/cmdline/PackageIdentifier.java
index 13f795e..b29e820 100644
--- a/src/main/java/com/google/devtools/build/lib/cmdline/PackageIdentifier.java
+++ b/src/main/java/com/google/devtools/build/lib/cmdline/PackageIdentifier.java
@@ -33,7 +33,6 @@
 import java.io.ObjectOutputStream;
 import java.io.ObjectStreamException;
 import java.io.Serializable;
-import java.util.Objects;
 import java.util.concurrent.ExecutionException;
 import java.util.regex.Pattern;
 
@@ -287,10 +286,9 @@
   private final PathFragment pkgName;
 
   private PackageIdentifier(RepositoryName repository, PathFragment pkgName) {
-    Preconditions.checkNotNull(repository);
-    Preconditions.checkNotNull(pkgName);
-    this.repository = repository;
-    this.pkgName = Canonicalizer.fragments().intern(pkgName.normalize());
+    this.repository = Preconditions.checkNotNull(repository);
+    this.pkgName = Canonicalizer.fragments().intern(
+            Preconditions.checkNotNull(pkgName).normalize());
   }
 
   public static PackageIdentifier parse(String input) throws LabelSyntaxException {
@@ -365,7 +363,7 @@
 
   @Override
   public int hashCode() {
-    return Objects.hash(repository, pkgName);
+    return 31 * repository.hashCode() + pkgName.hashCode();
   }
 
   @Override