Unit and Promotion Tweaks

Smart AI functions, fix for healrate calculation, and a bunch of
tweaks/fixes for calculating promotion value. TacticalAnalysisMap can
also use Smart AI functions.