* apply regex to change public copy constructors to protected
* cleanup code using now protected constructors
* fix manaBuilder weird casting of Mana into ConditionalMana
* New common class for "Whenever a source deals damage to {this}, " which resolves#9340
* Merge `PutLibraryIntoGraveTargetEffect` with functionally identical `MillCardsTargetEffect`
* Text fix on `RevealDragonFromHandCost` noticed in #10593
* Text fix following up on #10594
* replaced blocking/blocked by predicates
* added test for knight of dusk (currently fails)
* added source parameter to filters and everything else that needs it
* some changes to various predicates
* test fix
* small changes to filter code
* merge fix
* fixed a test failure
* small change to Karn, Scion of Urza
* removed sourceId from filter methods and other similar places
* added new getobject method to fix some test failures
* a few more fixes
* fixed merge conflicts
* merge fix
"b" + "r" now changed to 'b' + 'w'. It's more straight-forward, and may cause perfomance improvements - character primitives allocation is faster and less expensive than string creation.