Add single unit instance recall_costs

Add the variables, lua, and wml support variables to allow a scenario
designer the ability to define different from the standard recall costs
or team recall costs for both individual units and unit types.
from least to highest order of precendent we'll have default, team/side,
unit_type, and finally individual units.

The tag in the scenarios and in the unit config files is recall_cost=int.
Implement unit instance recall costs.

Actually allows for the unit instance recall costs to be used. Proper
taking of the gold and undoing the cost for each unit is implemented
and works.  At advancement if the unit's current recall matches their
unit_type's recall_cost then it takes the new unit_type's recall_cost
otherwise it keeps whatever value it currently has until it fails this
check.  Recall costs are also now persistant and will carry over from
one scenario into the next as well.

If a cost is not set, it will continue to use the team/side/default
costs, these changes should not affect the current workings when
dealing with unaltered scenarios, and unit config files.  I repeat This
will not affect or change the currently way things work UNLESS a user
alters a file or includes the new recall_cost (as in copies and
modifies a unit in the scenario unit files) for a unit instance in
their scenario file(s).
Show unit instance recall cost in Recall dialog

Show in the recall dialog below the unit type the recall cost of
that unit.  The costs are also colour coded, red for more then the
team/side recall_cost, white for same as team recall_cost and
finally green for below team recall_cost.  It also alters the not
enough gold message from "you must have X gold to recall a unit." to
"you must have X gold to recall this unit."  There is some new
comparisions to make this all work.  The header for one function
(recall_dialog) has had a const of the team.recall_cost passed to it to
allow for the comparisions more easy to do in that function.

There is room for improvement here, perhaps removing the costs display
if no unit has a recall cost that differs from the others.
Single unit instances work with whiteboard.

Here the changes to get whiteboard to work are mostly cosmetic, the
right cost for each unit is displayed on the unit in question.  This
is mostly for peace of mind as the user looks at the screen they don't
get confused.  The proper gold is also taken for each recall and
replaced for each canceled/undone recall while in whiteboard.
Single unit instances work with whiteboard.

Here the changes to get whiteboard to work are mostly cosmetic, the
right cost for each unit is displayed on the unit in question.  This
is mostly for peace of mind as the user looks at the screen they don't
get confused.  The proper gold is also taken for each recall and
replaced for each canceled/undone recall while in whiteboard.
Added line to changelog for adding single unit instance recall costs
Changed recall cost in recall dialog to default colour
Added Aishiko to about.cfg as requsted by shadowm

Added Aishiko and a comment about her being to blame for the unit instance
recall costs.
Corrected use of cfg["foo"], removed 2 assignments, and 2 whitespace fixes

Changed from cfg["foo"] > number, to !cfg["foo"].blank(). Turned a cfg call into
just a default assignment.  Added a .to_int to a cfg["foo"] call to prepare
against bad user input.  Finally added whitespace to 2 lines to get them to line
up with the rest of the lines.
Merge branch 'Add-unit-instance-recall-costs' of https://github.com/Aishiko/wesnoth into Aishiko-Add-unit-instance-recall-costs

Conflicts:
	changelog
Improve a changelog entry