Update ProjectGroups API to consume ID's rather than names.

While using names in our API is nice and human-readable, it's actually
much better to use a unique identifier (in this case, the database ID).
This avoids situations in which records become inaccessible because their
names are identical. Say record 3 has a name of "Test Project Group", and
record 4 is then changed to be called "Test Project Group", suddenly one of
these two records is no longer visible via
  GET /v1/project_groups/Test%20Project%20Group
Also, it means that we don't have to worry about wacky UTF-8 characters
encoding in the URL breaking our browsers.

Also, for the sake of remaining RESTful, I removed the nested association
with projects. That should probably be exposed at /v1/project_groups/1/projects/
instead.

Change-Id: I1fc5308655cc96a111181275316e9fb574523a4e
Merge "Update ProjectGroups API to consume ID's rather than names."