Revert to a default login in case of an EMPTY_WRAPPED_STRING.
Refactor users related code (mp::connect).
Re-enable lobby to show reloaded game titles.
Remove obsolete "simple server" related code (mp::connect).

As a result of this, 'connected_user' struct was no longer useful and
is now removed. Connected users information are now being hold in
std::set<std::string>, because only their unique usernames matter
in mp::connect.
Minor clean-up of users related code (mp::connect).
Allow non-reloaded games to use "Reserved" option.
Reserve sides for players who played them in previous scenario.

The information for the previous scenario's sides which have "save_id"
and a player ("player_id") assigned to them are now being recorded in
"mp_game_settings". This information is used in mp::connect for every
non-last scenario to reserve sides for previous players so that
they could easily join the game and be placed in the correct side.
Fix side controller swapping on drop target (mp::connect).
Add "Quit" option for mp::connect/wait when used in between scenarios.
Use global variables for MP chat and gamelist.

As a desirable side effect, the mp::connect/wait screens now retain the
chat and gamelist over the campaign.
Move and refactor teams initialization from gui to engine (mp::connect).
Move side engine creation from gui to engine (mp::connect).
Clean up of mp::connect(::engine).

Methods which were called only once was removed and their bodies were
used instead of a call to them.

Some methods for mp::connect UI update were merged for the sake of
readability and simplicity.
Save reserved sides information only before updating game state.

Fixes a bug: if user joined a game, but cancelled "Choose a faction",
that user won't longer be available to join that game.
Add disallow copy and assign (mp::connect).
Separate mp::connect_engine from mp::connect.

The engine now should be created and then passed to mp::connect as a
constructor's parameter.

This is an initial step to prepare the engine to
be used outside of mp::connect screen context.
Move "level_to_gamestate()" to mp_game_utils.?pp.
Use the same instance of game_state for MP screens and game.

These changes are towards the unification of MP scenario campaigns
initialization.
Reload game config when MP save game is selected.

This guarantees that global game config has all the necessary
information for the game.
Move the set up of default faction from gui to engine (mp::connect).