Unify the level's data download between mp::wait and play_game() loop.
Overwrite previous and extra recruits if required in mp::connect.

Use a "Custom" faction if leader has any "extra_recruit".
Remove now unused functions for MP level initialization.
Check if a scenario allows new game in mp::wait for non-host players.

Fixes a bug which was introduced when "allow_new_game" was checked in
play_game() loop for non-host players and caused them to abort the game
if they didn't have that scenario.
Allow to give control over side using "controller=side_number" in MP.

An extra parameter has been added to place_user() function to check, if
faction, leader and gender should be assigned to a side.
Make it possible to overwrite a default leader by mp::connect selection.

Default leader is found by checking for "id" in [side] tag. If id was
found, it will check if leader was carried over and is now in [unit]
tag. If leader was still not found, it will try to pick a first unit
which can recruit.

If "Use map settings" are off or no leader was specified, mp::connect
will allow to select a leader from a faction. If default leader was in
carryover and the new leader was selected, the old leader attributes
will be cleared, keeping only an "id" and a newly set "type" and
"gender" attributes.
Bring back MP options (patch by lipkab).
Fix an alignment problem with levels menu (mp::create).
Add missing class-key.
Update changelogs.
Partially revert 569ef65e094071bf055c89d035d9ce5cd338cdf6 to fix a bug.

The next_scenario in SP won't get loaded.
Ignore build folder for ReleaseDEBUG MSVC builds.
fix an MSVC warning
fix the MSVC project file
cb project update
Fix an unreachable code issue.
Refactor commit_wmi_commands() in preparation for future changes.

Just splitting the changes into smaller pieces so it will be easier
to track down any problems that might come up.
Introduce a variable for readability (and fewer dereferences).
wml_menu_item refactoring: make command private.
Create wml_menu_item::can_show() from part of play_controller.cpp.