Fix the spelling in a comment.
Cleaned up an obsolete #include game_preferences.hpp in preferences.hpp
Changed LoW's highest difficult level from hard to challenging
unit tests show a gui if --showgui option is given
reorganize command line options
fixup initialization list

(to address reorder warning)
cleanup wml unit tests code

replace a complicated type with a typedef,
add some comments
add victory check to replay test in unit tests
add unit test 4, which AI wrote in github comments
redirect noninteractive ai test info from std::cout to log channel

I named the log channel "aitesting" and in three files,

playcontroller.cpp,
play_singlecontroller.cpp,
ca_testing_recruitment.cpp,

bound this to "LOG_AIT" and substituted where I saw std::cout.

This macro could be redefined to std::cout to restore previous
behavior.

Feel free to rename the channel if you don't like this name.
The reason I made this change is so that this info does not
appear when we are running noninteractive unit tests.
add wml commands 'issue_attack_command', 'issue_move_command'

This is the initial commit for these WML handlers.

The purpose of these is to provide more or less raw interfaces
to the (synchronized) implementations of attacks, moves, used
when a user clicks to make such an order, or when an ai issues
such an order.

This is useful for creating noninteractive tests, as it allows
to test the outcomes of these kinds of things without having
to figure out how to coerce an ai to do them. Sure, you can
make the same effects other ways in WML, but the point is
to test the code path that is actually used in a game.
add unit test 4 to the script
update changelog
fixup an IF which did not have braces

travis complained
remove unnecessary debugging output

It crowds the "engine" log.
add safety checks, debugging to [issue_attack_command]

It now logs when it is called, and checks if the two locations
are equal.
add unit tests 5 and 6

Unit test 5 checks that units placed at off-map coordinates end up
in the recall list of their side.

Unit test 6 checks that grunts (without traits) are doing the
right amount of damage at day, dusk, and night.

Also add these to the script.
fixup whitespace in unit_test_5.cfg
Fix a unit test that was invalidated shortly after its creation
Add extra tests and silence expected errors