* Improve text generation for some counter abilities
* Magus Lucea Kane must apply to permanent spells (bugfix, related to #11440)
* Further improve text generation of counter text
* Text improvements to a couple cards
* Graft text improvements
* Further remove unused variable
* Be consistent on Backup ability setup, revert Thalia's Lieutenant (filter reuse means it doesn't work)
* Thalia's Lieutenant original text was slightly wrong, fixed
* 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
* apply regex to change public copy constructors to protected
* cleanup code using now protected constructors
* fix manaBuilder weird casting of Mana into ConditionalMana