Patrols MAI scenario: add a second Micro AI type (zone guardian) to Side 2

This demonstrates how to set up several MAIs for the same side.
Fix indenting
Zone Guardian MAI: only use reachable zone hexes as goals for the unit

This is done so that the unit does not leave the zone in order to get
to a far away zone hex.  Exception: if none of the zone hexes are
reachable, then all of them are possible goals, so that the unit moves
toward the zone.
Zone Guardian MAI: ensure functionality even if no goal hex is found

In that case, the guardian stays put where it is.
Guardian and Patrol MAI: check if unit exists even for Behavior CAs

This works around a bug which causes BCAs not to be removed when a
scenario is reloaded from a middle-of-scenario save.
removed stray [/section] block, pointed out by  Pentarctagon
Grammar in a comment.
Remove a "todo" that was done in r38422.
Refactor debug mode unit creation.

The goal is to merge three code paths so they are easier to update.
When GUI2 is ready, it might make sense to merge choose_unit_2()
into menu_handler::create_unit().
Clear fog/shroud when creating units via debug mode.
Micro AI macros: fix a mistake in comments
addon/state: Add addons_tracking_list typedef

So I don't need to keep repeating the same std::map template
instantiation all over the place.
gui2/taddon_description: Refactor add-on name coloring logic
gui2/taddon_description: Add a row for listing add-on dependencies
gui2/taddon_description: Implement listing of add-on dependencies

This requires passing additional information about available add-ons (on
the server) and installed add-ons to the dialog's constructor. The
dependency list is a completely flat label displaying a comma-separated
list, with color-keyed installation statuses like the Status field and
the main add-ons list display.
addon/info: Demote circular dependency errors to info loglevel

It turns out this is actually very useful according to a certain add-on
author who is definitely not me.

For example: have Campaign Foo and Music Pack Foo. Music Pack Foo can
depend upon Campaign Foo so a player attempting to download it is
suggested to download Campaign Foo as well since it's entirely useless
otherwise. Meanwhile, Campaign Foo depends upon Music Pack Foo in order
to be able to use some custom music in the campaign proper.
gui2/taddon_description: Resolve the full dependency tree for display

This allows displaying the full set after resolving dependencies
recursively instead of just the add-on's original dependency set.
Safer tracking of location when creating units via debug mode.
Implement [base_unit] before any other processing of unit types.

Fixes bug #20933.
Changelog entry for r56092.