* Implement Costs Tag Map system
* Use Costs Tag Map system to store X value for spells, abilities, and resolving permanents
* Store Bestow without target's tags
Change functions for getting tags and storing the tags of a new permanent
* Create and use deep copy function in CardUtil, add Copyable<T> to many classes
* Fix Hall Of the Bandit Lord infinite loop
* Add additional comments
* Don't store null/empty costs tags maps (saves memory)
* Fix two more Watchers with Ability variable
* Add check for exact collection types during deep copy
* Use generics instead of pure type erasure during deep copy
* convert more code to using deep copy helper, everything use Object copier, add EnumMap
* fix documentation
* Don't need the separate null checks anymore (handled in deepCopyObject)
* Minor cleanup
normal game usage should have no issue, but the Pillar Custom mode
initializing a Delayed Trigger at game init can not have a real source set up.
Might revisit 'game init' trigger in a better way in the future.
For now this fix is enough to avoid a NPE using the Pillar game mode.
* Fix Subability copy bug (fix#10526 )
* Cards which copy abilities of other cards should not copy subabilities.
* Enable previously-failing tests
* Find more addAbility that should be done without subabilities
* Add documentation to addAbility function
* Add warning about not using basic addAbility when copying from a source
* Invert withSubabilities to fromExistingObject
* TalruumPiper use MustBeBlockedByAllSourceEffect
* Both of Bident Of Thassa's abilities can be made generic
* Goblin Diplomats use generic class (with custom text)
* create MustBeBlockedByAtLeastOneAttachedEffect common effect
* Add Ace's Baseball Bat