Convert Project.NameKey to an immutable type

Follows the pattern of other key type refactorings, adding a static
factory method. However, unlike the other key types, this one can't be
an @AutoValue, because it has other subclasses and specific requirements
around the implementation of equals. So we're stuck with boilerplate; at
least it's only one field.

See I6982fb24 for context.

Change-Id: Ic46c4a357f4ee77f18e54e87ca97af6e834834b6
2 files changed
tree: 2a21844034a007ab7750cd8ca9b286a76a04dcee
  1. java/
  2. javatests/