simulate_combat_fake(): don't fill empty HP chances with zeros

That’s what wesnoth.simulate_combat() does, but is different from the
other functions in battle_calcs.  Only hp_chance[0] needs to be set,
even if it is zero.
attack_combo_stats(): also cache intermediate battle outcomes

Speeds up some calculations significantly.
battle_calcs: do not use variance of attack in attack rating

This was an idea we tried so that we’d start with the most uncertain
attack first, but it did not work very well.
Keep the code for now, just comment it out.
battle_calcs.attack_rating(): overhaul attack rating system

This was long overdue.  The return value is now much closer to
something describing the actual gain/loss (roughly) in units of gold.