put generic unit test map in its own file
move test_grunt_tod_damage map to a map file
add sighted events unit tests
add tests of the [move] skip_sighted_option

This is partially a follow up of previous commit
403af25e9da77dbf7aa295ccd901af3bdcd6f889
fixup move_skip_sighted tests
fixup [command] [move] implementation

The move implementation used a function from map_location.cpp,
parse_location_range. This has the consequence that if the move tag
has mismatched numbers of entries for x and y, it is not reported
as an error and instead some truly bizarre, although not "undefined"
behavior ensues. Since this has obvious potential to conceal bugs
and no obvious benefit, I have changed this to a more sane
implementation. See chat log today with gfgtdf for full details.
add test_move unit tests
add unit test for basic unit map functionality
refactor sighted events test to be one file
refactor assert, return, two_plus_two, to each be one file
refactor break_replay tests into one file
add unit test for berzerk + firststrike interaction
small refactor of strict mode logging

Move a bool flag that remembers if we threw an exception, to be a
local static variable in that function, rather than at file scope.
This ensures that no other functions will mess with it.
rename builder.cpp -> terrain_builder.cpp

Since that's the class that it defines.
bad_lexical_cast derives from std::exception
catch bad lexical casts (from parsing map locations from configs)
add map_location characterization tests

There is a compiler option to generate the expected output set for
the current build, see test_map_location.cpp