Better GetHashCode for PackageKey and made properties immutable.