MAJOR modifications to the Status framework

Units that haven't moved yet in a round are resorted. This potentially
now allows dynamic speed buffs/debuffs to be added

Status will now be defined as classes to improve programmability. You
can now define status effects that trigger every round, before damage,
after damage, before target, after target, on spawn, on kill (other
potential ones later). How awesome! Everything seems to work as before.
Fighter abilities are re-implemented in this framework.

Targeter class is added which provides a simple structure to contain
potential target candidates. This is created in response to the Status
framework change. It selects a unit from the possible candidates
provided by the ability range and the TARGET_WEAKEST, TARGET_STRONGEST,
TARGET_RANDOM choices.

Next time: Fix up Group to return units that are not dead.
During the execution of an Ability, at certain stages, it is possible
for the caster to become stunned, killed, ect. Similarly, a target may
have died due to other response abilities. These need to be refreshed
cleverly.