Handle observers for non-first "allow_new_game=yes" scenarios.
Added out-of-range check for level selection (mp::create).
Moved level download utility functions to mp::wait.
Use a function to update "End Turn" button's and menu item's state.
Fixed non-host players being unnotified about next_scenario data.

The players being unnotified resulted in them being able to press "End
Turn/End Scenario" button and downloading the current scenario data
instead of the next one.

Related code, which was marked as "deprecated", has been removed due to
not actually affecting anything.
Remove unnecessary check in side_engine::available_for_user().

As a side effect, a network user is able to take a side with
"allow_player=no", if host has started the game with "--debug" command
line argument.
Fixed "current_player" being assigned incorrectly (mp::connect_engine).

1st case:
Overwriting "current_player" with default value produces an incorrect
side config and causes the server to not recognize the player if its
username is not the same as "current_player" value. This is not
desirable, since a different player might be assigned to an ex-reserverd
side or a player might just simply change his/her username.

2nd case:
Using default value for "current_player" if no player has taken that
side, results in setting wrong controller in case side was reserved for
host.
Revert 0ac9f9c and adjust controllers set up.

The commit was reverted because "allow_player" value is being checked in
other places. This resulted in different default values for
"allow_player" in the different places.
Don't count side with controller="reserved" as available.
Keep default "recruit" for correct faction lists initialization.
Add missing out-of-range checks (mp::wait).
Fixed game's description in lobby.
Reload game config in mp::wait.

The game config is being reloaded to make sure that players have the
same config as host, if possible.

Note that reloading only happens when it is necessary and it would not
happen if host's cache defines matches the player's ones. I.e. regular
MP scenarios won't trigger a config reload.