We were returning projects un-normalized. That's no good for anybody.
Add normalization and documentation of the agreed model.
It's worth noting that because it's a project, information about project
and domain in the location dict is a bit more specific.
Change-Id: I3bbfd010883587857cf09f082124816e701fbe6f