Type consistency

I noticed this and just decided to be pedantic.
Move game_events::unit_matches_filter() to unit::matches_filter().

This function is used by game_events, but has more to do with units
than events. It was a wrapper, now is an overload, for
unit::matches_filter() that defaults the location to the unit's.
Localizing get_sides_vector() to game_events.cpp.
Fix some missing commas in the text.
Inline a call to get the current side.
Initialize a static variable.
Merge static color_adjust() into WML_HANDLER_FUNCTION color_adjust().

The static function was broken out of the WML handler to ease supporting
the legacy [colour_adjust]. Now that [colour_adjust] is no longer
supported, having an extra function layer serves no purpose.
Rename type recursion_counter to recursion_preventer::t_counter.

The type is defined solely for the benefit of the class
recursion_preventer, so it logically belongs inside the class.
Doxygen-fy some comments (and some minor text changes).
Add some todo's to encourage things to advance from "experimental".
Added a check to change a unit's ellipse depending on its ZoC

This modification allows the game to automatically select the unit's ellipse, by checking if said unit emits a ZoC; if the unit loses or gains it, due for example to a level-up or to the Stun ability, the ellipse will change accordingly. This effectively makes no longer useful declaring the ellipse in a unit's .cfg file.
Renamed hero and leader nozoc ellipses to make them compatible with the automatic ellipse management

I had to rename these ellipses to make them compatible with the IS_HERO macro as well. This way, a user can assign a ellipse with the usual ellipse=misc/ellipse-hero, and when a unit loses its ZoC, it'll be updated accordingly. Leaving the file names as they were wasn't a good solution, because it required a way to split the ellipse-hero string to insert the nozoc- part.
With this solution, no WML change is required; however, we may want to add a wmllint rule to warn UMC authors if they have a ellipse= key in their unit cfgs.
Removed no longer useful ellipse= key from mainline units (bats)

Since ellipses automatically change depending on the ZoC emission, there is no point to change them manually in the cfgs - we don't want the engine to look for a misc/ellipse-nozoc-nozoc file. This commit is the first of a series that will fix all mainline units, even the campaign-specific ones.
Removed no longer useful ellipse= key from mainline units (boats)
Removed no longer useful ellipse= key from mainline units (drakes)
Removed no longer useful ellipse= key from mainline units (dwarves)
Removed no longer useful ellipse= key from mainline units (elves)
Removed no longer useful ellipse= key from mainline units (goblins)
Removed no longer useful ellipse= key from mainline units (gryphons)
Removed no longer useful ellipse= key from mainline units (humans)