command line option --unit, -u, to run scenario as a unit test

This is the initial commit for --unit, -u, unit test option.
This option is a modified version of --test, -t. Scenarios will
run in the same context essentially, but will terminate on
scenario end.

the exit code of wesnoth is 0 (PASS) if the scenario ended with
LEVEL_RESULT VICTORY, or LEVEL_RESULT NONE.

the exit code of wesnoth is 1 (FAIL) otherwise.
make unit tests run headlessly
initial commit of wml_macros for unit tests

contains "generic unit test" and "assert" macros
add unit test examples
add tests 2 and 3
initial commit of wml_unit_tests aggregate script