Add the initial SDL_Window wrapper code.

With this wrapper in place, Wesnoth shows a main window, all black and a
lot of errors on the console.
Implement rendering with SDL 2.

The game now starts and can be played. There are a lot of visual
glitches, but visual it is playable.

The text input is completely broken, due to the changes in the
SDL 2 API and the band-aid compile fixes.
Move window caption initialisation code.

The code is moved from game_controller::init_language to
game_controller::init_video. This makes porting the code to SDL 2
easier. In SDL 2 the caption must be set after the main window exists.
It could be set in the constructor of the Window, but that can be done
once we drop SDL 1.2 support.
Show the window caption with SDL 2.
Show the window icon with SDL 2.
Let CVideo::window_state use main_window.
Rename main_window to window.

With the last commit the duplicate variable name window is gone, so
rename the main_window to the preferred name window.
Update the Doxygen comments.
Merge branch 'SDL_Window'

Add a wrapper for the SDL_Window. This merge makes Wesnoth 'playable'
with SDL2. It still has a lot of glitches and bugs to be solved.
Fix linking order in SCons.
Add missing spaces in text output.
Include the proper header.

Don't use a header that indirectly includes the wanted header. The bug
was caused by some early development testing code.
update_server: The 1.12 branch now exists
repair unit_map unit tests

in an earlier commit these tests were disabled because they were segfaulting
and blocking the test suite from running. the cause was obscure: the tests
were based on making a dummy unit type and inserting / reinserting it
into the unit_map. however, it turns out that in the current code, a freshly
constructed unit_type is not safe to be used to construct a unit. the reason
is that then it does not have any genders defined, so when the unit is built
it will not find any genders and fail with segfault, or even more bizarrely,
a division by zero error. i found that even running with gdb did not give
an actual line number, and simply said that the failure occurred in the
unit constructor, a function whose initalizer list spans several pages.

the correct fix is to invoke "unit_types.build_unit_type" on the unit type
before using it. this permits the unit tests to run.

additionally i added an assert to the generate_genders function in unit.cpp,
which surely should have been there in the first place.
Merge branch 'master' of https://github.com/wesnoth/wesnoth
Merge branch 'master' of https://github.com/wesnoth/wesnoth
fix whitespace
Merge branch 'master' of https://github.com/wesnoth/wesnoth
preprocessor: Capitalize first word of two error messages

Like all WML preprocessor diagnostics, these aren't translatable
strings, so this is a valid candidate for 1.12.
preprocessor: 'any argument' -> 'any arguments'

Like all WML preprocessor diagnostics, these aren't translatable
strings, so this is a valid candidate for 1.12.