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 wrong warning message.