Add the possibility for abilities to run onHit events for both attackers
Just as with moves, add the same possibility to abilities so onHit is
run on both sides, allowing new ability effects to be added.
Fix Magician properly
Although the fix 81d6340126c7960a0c51f2c7b576ec09d4597252 on
8f913c9e1cd32615eb31511611e11750ddc54856 was correct, the battle engine
was not prepared for a situation in which a source hitting a target
has an effect on the source itself.
Add now a hard check for Magician so the fix works properly.