Fix Illusion tracking for residual damage faint
Fix Illusion tracking for residual damage faint

This handles the remaining case for Illusion tracking.

If a Pokemon fainted from residual damage retroactively turns out to
be an Illusion, the client will now correctly mark the Zoroark as
fainted.

If there is no Zoroark (because Hackmons), the client will now mark
a random unfainted Pokemon as fainted. This guess may be wrong, but
will keep the fainted Pokemon count correct, and will eventually be
correct as incorrect guesses are switched in and reguessed.

Zarel/Pokemon-Showdown-Client,Zarel/Pokemon-Showdown-Client,sirDonovan/Pokemon-Showdown-Client,QuiteQuiet/Pokemon-Showdown-Client,QuiteQuiet/Pokemon-Showdown-Client,Zarel/Pokemon-Showdown-Client,sirDonovan/Pokemon-Showdown-Client,QuiteQuiet/Pokemon-Showdown-Client,QuiteQuiet/Pokemon-Showdown-Client,Zarel/Pokemon-Showdown-Client,sirDonovan/Pokemon-Showdown-Client,sirDonovan/Pokemon-Showdown-Client