Refactor: use RedirectionEffect where appropriate
A bunch of cards implement damage redirection with a custom effect extending PreventionEffectImpl or ReplacementEffectImpl. We have the class RedirectionEffect ~~although strangely it~~ which correctly does not extend PreventionEffect. There are likely to be various subtle bugs in these custom classes, so ideally the common classes can be cleaned up, unit tests confirmed, and cards updated to use the common classes.
although strangely it does not extend PreventionEffect
This is correct, as redirection effects are entirely separate from prevention effects. Damage that can't be prevented can still be redirected. Note that "Prevent that damage, ~ deals that much damage" is not a redirection effect (the source of the damage changes).