change saved_game & savefile format

we move code from playcampaign.cpp to saved_game.cpp
we also change the savefile format so that ingame savegames don't
contain [carryover_sides_start] anymore becaus all that was already
merged to both [snapshot] and replay_start.

This commit is likley to break something. If so that will be fixed in
later commits.
move more code playcampaign -> saved_game

also removes some out commented code.
move move code in playcampaign.cpp
move carryover handling out of playcampaign.cpp

this also makes a small change in the savefile format: [endlevel] ->
[end_level_data] in snapshots.
remove outcommented code
move rotate_random call playcampaign ->saved_game

this also removes some set_/remove snapshot calls, which are not needed
becasue there is no snapshot after convert_to_start_save.
make use of playsingle_controller optional
minor playcampaign refactor
remove unneeded code

we read the replay from [replay_start] not form [carryover_sides_start]
so no need to write them there.
load replay from [scenario] if not [replay_start] is present

the intention is to change the serverside generate replay to contain
[scenario] & [carryover_sides_start] carryover isn't expanded in these
saves.
remove outdated line

we store difficulcy only in classification, not in carryover_sides_start
simplyfy level_to_gamestate

most liley level_to_gamestate is currently broken since the latest
saved_game changes, but this commit doesn't change anything
remove set unneeded difficuly

we don't store difficulcy in carryover_sides_start anymore
fixup scenario advancing

the "gamestate().remove_snapshot();" is unneded and would undo the
"gamestate().set_snapshot();" in playcampaign
make wesnothd use savefile format for new games

This server changes the mp wesnothd protocoll.

multiplayer conneect now works as following:
multiplayer_create/configure creates saved_game object which is then
loaded by mp_connect and sended to the server in the usual savefile
format, this especialy imples that [side] are no longer at toplevel but
instead nested into [scenario] or [snapshot].

mp options are saved into state (the saved_game object)
(state_.mp_settings()) previously we had a sperate mp_settings object
for that now we only have one mp_setting object.

In order to make mp saves work better in sp, the expansion some of
mp_settings (those that also shoudl affect next scenarios like
experince_modifier but not turns), will be moved to
saeved_game/playcampaign later.

This also temporarily disables mp modificaltion/era events/options the
reason is, that i want to move the expansion of those to saved_game.cpp
for better compability to Sp, but if that won't work i'll just enable
them how they were.

There  are still some things to do especaiyl the server genrates saved
will be completey borken, (will fix in another commit)

we dotn use the [replay_start] as startig pos in mp anymore so i removed
2 lines in playcampaign that assumed that.
make wesnothd use savefile format for new games

the serverside part
fix test/ compilation
fixup [era] in initial_level_config
fix servergenerated replays

I also removed 'mp_game_title' because if i leave it, it casues an 'attributes not in order' error since level_ contains attributes. Idk what it does so i removed it. if we want it we should write in into level_