* [SPM] Implement The Soul Stone
* update to use permanent designation instead of game state
* update The Soul Stone according to release notes
* infinity ability is no longer on the card unless harnessed, which is only on the battlefield
* fix text on soul stone conditional ability
* update The Soul Stone
* create common effects for future Infinity cards
* refactor exile method names, add comments
* fix card effects checking exile with filter to process ObjectSourcePlayerPredicates
* fix card effects checking exile to respect range of influence
* update RemoveCountersSourceCost, Gwen Stacy, and Price of Betrayal
* added support for choosing multiple counters to RemoveCountersSourceCost
* changed Price of Betrayal to use player.getMultiAmount method
* added REMOVE_COUNTERS to MultiAmountType
* create common RemoveUpToAmountCountersEffect and update cards
* update default target wording on RemoveUpToAmountCountersEffect
* create common TargetsDamageTargetsEffect
* [SPM] implement Superior Terrific Team-Up
* fix band together second target predicate
* remove unnecessary checks in TargetsDamageTargetsEffect
* refactor ExileGraveyardAllTargetPlayerEffect to allow multiple targets
* [SPM] implement The Death of Gwen Stacy
* change ExileGraveyardAllTargetPlayerEffect to do one batch movement
* update SacrificeAttachmentCost to work with canPaySacrificeCost
* update SacrificeXTargetCost to use canPaySacrificeCost
* update SacrificeXManaValueCost to use canPaySacrificeCost and getMaxValue
* update Phyrexian Dreadnought to use canPaySacrificeCost
* enable testNahiriSacrificePrevented test