Apply changes from mp::connect in between MP campaign's scenarios.

The mp::connect is now shown only with '--debug' option. This avoids
multiple factions being applied to the same side over multiple
scenarios.
Fix faction locking for sides in multiplayer.
Refactor faction set up in multiplayer.

The code has been improved to switch from index lookups to lookups by ids
to make the implementation more flexible for future improvements and
maintenance.