add 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
add WML macros for unit test scenarios

contains "generic_unit_test", "return" and "assert" macros
add unit test examples
add wml unit tests two and three
add wml_unit_tests test aggregator script

This bash script runs a sequence of WML unit test scenarios.
If all pass the result is 0.
If any fails, the result is 1, and the std::cerr stored in "error.log".
We also add error.log to the .gitignore list.