add MagicDiscardCardsAction
replace MagicDiscardsAction with processChosenCard method in MagicEvent
replace getCardChoice with processChosenCards
separate event actions, move action to MagicReclaimExiledCardAction
event must have valid player, use controller of first card
player who should see the cards is the opponent of the cards
rename MagicExileUntilThisLeavesPlayAction to MagicExileLinkAction, rename MagicReturnExiledUntilThisLeavesPlayAction to MagicReturnLinkedExileAction