fixup "make level reflect start of scenario"

we change set_attr to set_attr_dup as gfgtdf pointed out
purge "record_change_controller"

we can use "change_controller" now instead because of the new
network adapter from gfgtdf
fixup scenario transitions

when the host transitions to the next scenario, in some cases he will
send "[start]" before the other clients even have the new scenario cfg
this means that the controller tweaks he send will hit them while they
are in linger mode or something, and the next scenario won't work.

we fixup the download_next_level function on the server side so that
it updates the level config when sending it out to the transitioning
client.

this fixes up commit fb726e0610af42fa815cf340fa68c570b8bef0d3
and bug #21931
update changelog
Merge branch '1.12' of https://github.com/wesnoth/wesnoth into 1.12