ai_helper: add get_units_with_moves() and get_units_with_attacks()
ai_helper: code cleanup

To make it consistent with data/ai/lua/ai_helper.lua again.
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: negative rating for attacking from hex adjacent to village
battle_calcs: code cleanup

To make it consistent with data/ai/lua/ai_helper.lua again.
Fred: disable poison spreading attacks for the time being

Ideally, they should be done by the normal attack action.
Fred: change condition for full offensive mode kicking in
Fred: execute all attacks of a combo together, not one by one
Fred: debug output changes
Fred: change threshold for zone securing on left
Fred: add unit_ratio condition for deciding whether a zone needs to be held