More refactoring

Made small changes to Card Actions to use the first argument, a player,
as the initiator rather than the user. This is better since some effects
may allow players to attack with their opponent's card. More refactoring
coming soon changing CardActions into DuelActions instead (losing life
points and ect.).
DuelAction refactoring.

Instead of changing the CardActions, I made the changes to the wrapper.
Now the wrapper implements DuelAction which allows for a broader set of
actions that can be executed during a duel.
Events for Duels...yay