Implement basic spellcasting AI (Fixes #961)

Select a weapon to attack with in AiCombat and equip it (Fixes #1609, Fixes #1772)
Don't equip weapons in autoEquip, AiCombat does that now (Fixes #1451)
Consider weapon ammunition in combat AI (Fixes #1576)
Don't attempt to use broken weapons in AI
Invalid iterator fix
Another invalid iterator fix
Play VFX_Soul_Trap on successful soul trap
Merge remote-tracking branch 'scrawl/ai'