Server controller tweaks

*** Please don't merge this yet, this is in testing and review stage. ***

this PR includes the following changes:

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.

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 recieved from host and before relaying the signal to other clients.

drop [multiplayer] tag from level_ before outputting it as [replay_start] in the replay. this is for consistency with how the clients generate [replay_start], and will hopefully make the server generated replays more reliable.