replace fight_on_without_leader with defeat_condition

[side] now has an attribute defeat_condition which can be "no_leader"(default), "no_units" or "never"
"no_leader" behaves liek it behaved before.
"no_units" behaves like fight_on_without_leader=yes behaved before
"never" is new and causes the side to never get defeated, this usually means the scenariodesigner has to end the scenario with [endlevel]

Conflicts:
	src/play_controller.cpp
	src/team.cpp
add "always" defeat_condition

Conflicts:
	src/play_controller.cpp
rename remove_from_carryover_on_leaders_loss_

to remove_from_carryover_on_defeat_
rename values of [side]defeat_condition=

most likely defeat_condition= will re renamed too defeat= too.
add "write_to" parameter to wml_message

"write_to" lets the wmldev specify to where the message should be
written. Defaults to the previous behaviour.

The intention is for example that one might want to give a summary  as a
chat message and a very detailed information in the stderr file.
replace write_to with to_chat in [wml_message]

as shadowm suggested, because we are never in the situation that we want
this information in the chat but not in the stderr.
#include <map.hpp> -> #include "map.hpp"
don't load null hotkeys

this prevents a possible segfault because otherwise add_hotkey calls hotkey::set_scope_active(new_scope) where new_scope is SCOPE_COUNT.
MAI test scenarios: fight_on_without_leader -> defeat_condition

Necessary due to a recent change how the victory conditions are
evaluated.
refactor is_observer out of check_victory

This is a minor change to victory_when_enemies_defeated condition.

Old logic: If there are no not defeated sides which are enemies
of eachother (i.e. there is still a battle going on),
BUT victory_when_enemies_defeated = false, and either we found
a not defeated local human player, or we are a multiplayer observer
(there are no locally controlled sides), then don't end the level.

New logic: If there are no not defeated sides which are enemies,
BUT victory when enemies defeated = false, and EITHER we found a
not defeated local human player, OR there is a not defeated remote
human player AND no local human side assigned at all,
then don't end the level.

I think this more precisely the behavior we want. is_observer
doesn't belong in this function, and with the introduction of
defeat_condition, UMC will pretty much always be able to get the
behavior they want, so I'm much more comfortable to introduce this
change now than I would be otherwise.
update changelog
update release notes
fixup error logging, catch parsing exceptions in editor, -p option

Conflicts:
	src/savegame.cpp
Catch config::error exception which could be thrown by parser.

I'm not sure if this is necessary as it is not reported, but
worst case is that not doing this could cause malformed
scenario files in the editor folder to crash wesnoth while
browsing in mp_create.
update changelog