Server controller tweaks

Refactor server so that controllers are not updated in level_ config as the game proceeds. Instead, level_ reflects the appropriate level to send to any observer at the start of game, and controller changes are recorded in the history. Client now recognizes such records in the replay data.

Refactor server and clients so that all "controller tweaks" at start of game, originally performed in playcampaign.cpp, are instead performed by the server just as [start_game] is received from host and before relaying the signal to other clients.