Work on generalizing to multi-player matches

The specification up until this point has focused mostly on using
an engine for analysis or two-player match scenarios. The adjustments
here to the general description should serve as a way to generalize
to a match involving more than two participants.

More than simply allowing more participants to communicate, it must
be possible for the UI of two human players to resolve differences.
If for some reason the model maintained by a user-interface does not
agree with the others there needs to be a main record of a match that
can be used to decide where the error has come from and what to do
about it.

The former communication model can be compared to a P2P model.
The model in this commit is more like a traditional client-server
model. The "server" is described here as an "arbiter". More than
necessarily functioning as a traditional server it is a controller
that also solves the problem described in the previous paragraph.

Improved the general description to better describe how a game engine
and other entities in the specification fit in with the MVC pattern.