[micro_ai] tag: move CA_path definition to beginning of file

To make it more visible for UMC authors who want to include their own
(modified) AIs.
Micro AIs: fix bug requiring unnecessary keys for MAI removal

MAIs which take either [filter] or id= used to throw an error message
if neither was given even for MAI removal.
MAIs: add utility functions for storing information in unit variables

These provide a simple and consistent way of storing variables inside
[micro_ai] tags in unit variables.  This is needed for fixing a bug
with variables stored in units from a previous MAI causing problems
with a subsequent MAI.
Micro AIs: use AI id instead of CA id as identifier

… for determining whether AI/CA ids are unique.  Also pass AI id to
eval/exec functions, instead of CA id.  This is also a step toward
fixing the bug with MAI variables remaining stored in units after an
MAI is removed.
In principle, the ca_id= key in the [micro_ai] tag should now be
renamed to ai_id, but that would break backward compatibility without
any benefit to the user, so we deal with it internally behind the
scenes instead.
Micro AIs: another bug fix for required keys for MAI removal

The random recruiters MAI also required unnecessary keys to be provided
for MAI removal.
Fix comments
Micro AIs: use the new functions for storing information in units

… such that it is done in a consistent way and this information can be
removed on MAI deletion.
Micro AIs bug fix: remove MAI unit variables on MAI removal

Previously this information remained in units and could alter the
behavior of subsequent MAIs, or even entirely disable them.
Merge branch 'master' of github.com:wesnoth/wesnoth