* apply regex to change public copy constructors to protected
* cleanup code using now protected constructors
* fix manaBuilder weird casting of Mana into ConditionalMana
* 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
* refactor all instances of getRule in triggered abilities using new getTriggerPrefix method
* updated triggered ability rules generation
* renamed method
* fixed a test failure
* some more refactoring
* simplified some instances of ability word usage
* initial refactor of damage events
* cleaned up some instances of classes that need to be removed
* removed old damage event classes
* removed outdated imports
* temporarily refactor Everlasting Torment (this will need to be changed more)
* updated damage handling to use new changes
* some reworking of lethal/excess damage plus a test
* updated damage marking to handle planeswalkers
* updated implementation of Phyrexian Unlife
* updated implementation of Everlasting Torment
* added some more excess damage tests
* small change to wither check