Remove most static methods and unify 'valueOf'/'values' functions on GameRegistry

It's more consistent to have all these functions unified, and easier on alternate implementations to have them accessed via pure interfaces rather than requiring injection of one-off factory types for each individual thing.
All these missing javadocs were originally missing them -- most are just copy-paste and minor edits of existing ones anyway.