Refactor cleaving further.

Now every melee_attack goes through cleave_setup, though cleave_targets
may end up empty. This allows for more extensible cleaving-like effects
(especially since they will only need to be added in one place, rather
than in actor::can_cleave as well). This also makes Gyre and Gimble
work with the Blade card (16 attacks!).