Refactor overload handling

Overload is now parsed out of the card’s text rather than manually
being set in code.
Some optimizations

Hero ability targeting has been tightened to reduce the number of
deepCopy() calls.  For a mage, I assumed that it is never a good idea
to use the hero ability on itself.