Do not cache RevCommit in keys of VisibilityCache

If we cache the RevCommit we could hold onto millions of RevCommit,
RevTree and RevCommit[] instances, bloating the server process heap.

Change-Id: I48a3aa758ad0b09eb1158c54f95ea7a6a53a97b5
diff --git a/gitiles-servlet/src/main/java/com/google/gitiles/VisibilityCache.java b/gitiles-servlet/src/main/java/com/google/gitiles/VisibilityCache.java
index 22969d1..c19da4a 100644
--- a/gitiles-servlet/src/main/java/com/google/gitiles/VisibilityCache.java
+++ b/gitiles-servlet/src/main/java/com/google/gitiles/VisibilityCache.java
@@ -51,7 +51,7 @@
     private Key(Object user, String repositoryName, ObjectId objectId) {
       this.user = checkNotNull(user, "user");
       this.repositoryName = checkNotNull(repositoryName, "repositoryName");
-      this.objectId = checkNotNull(objectId, "objectId");
+      this.objectId = checkNotNull(objectId, "objectId").copy();
     }
 
     @Override