Extend the new protocol to handle listing and joining games.

...but not parting or seeing what's happening in the game. Those will
come in upcoming commits.

This commit extends the JSON API document and implementation.