sync random_start time the normal way

we now use the deterministic rng which we also use for start unit unit
traits.
Update formatting.
Disable the unicode for SDL2 key events.

The values are wrong so disable them for now.
Convert the GUI2 text API to take strings.

This change makes it easier to use the SDL2 text input events.
fixup end of scenario saves
Implement the SDL2 text input event in GUI2.

This enables text editing in the GUI2 widgets.
fixup 77ead906927bec69d9136d349d637458f7a553f0

Testing reveals that this line cannot be removed without breaking
reloads of disconnected games (with uninitialized sides). But, the
argument should be "false" since this is not called from the replay
codepath.
Merge pull request #174 from cbeck88/fixup_end_of_scenario_saves

fixup end of scenario saves

iceiceice writes: does anyone know why we have this line?
https://github.com/wesnoth/wesnoth/blob/master/src/play_controller.cpp#L752
it causes end of scenario saves to be stripped of all units
my theory is that it was for some point in time before carryover was implemented properly
i propose to remove it in 1.12 and master

AI0867 writes: See commit aa2cf7d.
Looks like the carryover refactoring might have made it do the opposite of what it used to.
remove dead code.

player_cfg_ was always NULL.
eliminate archaic functions

end_turn_record and end_turn_record_unlock are only used in one
place, and in succession. We delete them and paste the definitions
inline, which permits some simplification. This is a strict
refactor.
remove unnecessary variable "turn_over_" from play_controllers.

After other refactors, this variable is basically useless -- it
is only used in one function, and indicates to that function if
we called it from the normal sp path, or the mp linger code path.
We choose to replace it with the linger_ variable -- the sp code
path will never follow to this function if linger_ is true, and
if it did it would cause a serious error anyways and corrupt
replays, so we would know if this was happening. So this is a
strict refactor.
eliminate unnecessary argument in play_controller

This is a strict refactor within the parameters of the program.
clean up find_human_team_before function

This is a strict refactor.
Remove some useless casts.
go to next scenario if there is at least one human

defeated sides in mp now also advance to the next scenario if there is
at least one networked human side that got a victory.
Fixes compilation of abs for C++11.
Merge pull request #176 from gfgtdf/carryover_on_defeeat

go to next scenario if there is at least one human
Merge pull request #172 from gfgtdf/random_tod

sync random_start time the normal way
add game_board struct to hold map, units, teams

For now this will just help us to put code in logical places and make
the save and load process simpler. This change is invisible outside
of play_controller.

Please don't backport this to 1.12.
cleanup for loops made ugly in previous commit

This is a strict refactor.