Update check_victory

Now the game ends on all client at the same time even with victory_when_enemies_defeated_= no.

previously in mp the attribute victory_when_enemies_defeated only prevents victory for human sides but doesn't prevent defeats. This means in a simple 1vs1 Mp game with victory_when_enemies_defeated=no when side 1 gets defeated, Player 1 will get the "You have been defeated" message and for client 2 the game continues. I tested with adding victory_when_enemies_defeated =no in 2p_Arcanclave_Citadel.cfg.
When side 1 looses (leader killed) (during side 2' turn) the following happens:
[list=1]
[*]side 1 gets a "you get defeated", side 2 continues
[*]when side 1 checks "end scenario" side 2 gets a "side 1 has left the game... reassign controll to ai/human/idle/..."
[*]I clicked "controll by human" on client 2
[*]I ended side 2's turn and continued playing side 1 on client 2 and didnt get defeated
[/list]
I am sure that this is not the intended behaviour.

this commits also effects when "enemies defeated" is fired accodignly so it is fired on all clients at the same time like any synced event.
use windows unicode functions explicitly

it seems like my compliler sometimes includes windows headers even before we define UNICODE in windows_tray_notification.hpp so the UNICODE define has no effect. Most likeley this is more an issue with strange local compiler adjustments than with the c++ code. This fixes it too.
Windows WML tests: Add WindowsTimeout project

As the --timeout option for Wesnoth can stall the process, we replace it
by an encapsulation comparable to the Unix timeout function.

WindowsTimeout isn't limited to Wesnoth, it can in fact set a timeout for
any executable called through it.

An example on the use of these WinAPI functions can be found on
http://msdn.microsoft.com/en-us/library/windows/desktop/ms682512.aspx
Windows WML tests: Port .sh test script to .cmd

WML tests are read from wml_test_schedule, executed and their error code
is compared to the expected result.
Windows WML tests: Improve stdout output

Differentiate between timeouts and real errors: In case of a timeout, only
throw a warning instead of an error.

Also implement a basic progress bar.
Windows WML tests: Add optional argument for executable path
Windows WML tests: Enable automatic tests in VC
move is_host_ to playturn.hpp
add maybe_linger to playsingle/mp_controller
remove outdated code.

this was forgotten in e80fc181aea84ec9a0b26c61ed49c18a3410143d
Merge pull request #173 from aquileia/WML_test

Add support for WML unit tests to the VC compiler, and also a nice windows cmd script, porting the bash script which we have, and which uses a timeout program which Aquileia wrote for us and added to the VC project files.
wmllint gui: fixed a bug in regexp handling
wmllint gui: made some options in the wmlscope tab evenly spaced
add const qualifier to unit_map::has_unit, which was missing it
remove code made dead by commit d808b7c7874465e314c433029d709236bea4fab9
Prevent allied leaders' suicidal behavior
Prevent allied leaders' suicidal behavior
remove built-in wesnoth timeout

This was buggy and based on deprecated SDL features that will not
continue to be available. aquileia wrote us a very nice windows
port of the run_wml_tests bash script, so for windows mac and
linux we should now be able to run the unit tests as desired.

Maybe someday built-in timeouts can be supported using boost
process library, if that ever materializes.
Add a lot of functions to sdl::ttexture.
use config::child_or_add