Remove unnecessary upvalues.
Ensure that "target" is never nil when calling requirement handlers.

The target can sometimes be nil depending on when the functions are called
due to the target of a spellcast not always being known when a spell is
cast (there are two separate events).  Default to the default icon target,
or "target" if missing.
Add "refresh_keep_snapshot" aura property.

If a spell refreshes an aura without forcing a it to re-snapshot its
persistent multipliers, then it can use "auraId=refresh_keep_snapshot" to
inform Ovale.
Druid: Rip keeps its snapshot when refreshed using Ferocious Bite.
Druid: Note that "moonfire_cat" applies "moonfire_cat_debuff".