StringKey hashCode inconsistent across VMs.

This is causing PersistentUnitCache to never re-use generated types.  The deserialized ContentId hashCodes don't match the in-memory ContentId hashCodes because getClass().hashCode() isn't stable across VM instances.

http://gwt-code-reviews.appspot.com/1435801/

Review by: zundel@google.com

git-svn-id: https://google-web-toolkit.googlecode.com/svn/trunk@10149 8db76d5a-ed1c-0410-87a9-c151d255dfc7
diff --git a/dev/core/src/com/google/gwt/dev/util/StringKey.java b/dev/core/src/com/google/gwt/dev/util/StringKey.java
index c7ac19a..5236ca2 100644
--- a/dev/core/src/com/google/gwt/dev/util/StringKey.java
+++ b/dev/core/src/com/google/gwt/dev/util/StringKey.java
@@ -38,7 +38,7 @@
    */
   protected StringKey(String value) {
     this.value = value;
-    this.hashCode = getClass().hashCode() * 13
+    this.hashCode = getClass().getName().hashCode() * 13
         + (value == null ? 0 : value.hashCode());
   }
 
@@ -66,9 +66,6 @@
     if (o == null) {
       return false;
     }
-    if (getClass() != o.getClass()) {
-      return false;
-    }
     return compareTo((StringKey) o) == 0 ? true : false;
   }