* Added Saruman of Many Colors
Borrowed functionality in CastSecondSpellTriggeredAbility from magefree/mage#10433
Added new helper class ExileTargetCardCopyAndCastEffect for common effect
* Updated FlawlessForgery to use new ExileTargetCardCopyAndCastEffect
* Fixed overriden Effect copy functions
* Expanded ExileTargetCardCopyAndCastEffect
Added ability for non-free spells
* Removed filter lock
* De-duplicated exile and cast effects
* Fixed demilich
* Added Storm of Saruman card
Some classes have been added/adjusted for code reusability:
- CastSecondSpellTriggeredAbility has been modified to set a target pointer to either the caster or the spell (used here to set a target pointer to the spell for the copy effect)
- CopyTargetSpellEffect has been modified to allow specifying a copy applier (used here to apply the legenedary-stripping effect)
- RemoveTypeCopyApplier has been added as a generic copy applier for any cards which read "except it isn't <type>"
* Fixed verify failure - Remove ward hint on Storm of Saruman
* Fixed a typo - ammount -> amount
* Modified Double Major to use new CopyTargetSpellEffect
* Re-added ability text for Double Major
* Fix text: duplicate ("you control") in Champion ability
* New static filter "artifacts and enchantments"
* Text fixes [CHK] [BOK] [SOK]
* Fix Genju text without breaking the effect this time
* refactor check supertype methods
* change supertype to list to match card type
* refactor various subtype methods
* implement mageobjectattribute for supertype
* a few fixes
* [BRC] Implement Rootpath Purifier
* a few extra fixes
* more fixes
* add test for purifier
- fixed that copy effect doesn't restore original image after effect's end;
- removed outdated availableImageSetCodes (all images auto-selected from tokens database now, related to #10139);
- refactor command objects to use CommandObjectImpl;
- refactor planes/emblems/etc objects to use MageObjectImpl, added copyable support;
- refactor another game objects to remove some duplicated fields;