fix bug #21916, ready blocked at inappropriate times

the first problem was that the "wait" object and "connect" objects
didn't agree about when the joining player should be choosing their
faction. we follow the mp::wait object's convention, that it happens
exactly when "allow_changes = yes".

the second problem was that params.saved_game was checked by
mp::connect_engine at the wrong time. (specifically the side_engine)

it was checked at the time of making a new config for the side, so
that the config sent to the joining clients would have
allow_changes = no in a save game, but not in the constructor of the
side engine, which would have the default/input value regardless of
the saved game status. the result is that the host and clients are
out of sync about whether allow_changes is true for a given side.
update changelog
Merge branch '1.12' of https://github.com/wesnoth/wesnoth into 1.12