As I mentioned in an earlier posting, whydead information for observers on
genocide is not sent correctly, with short packets on.  Well, I did some
more digging, and found the problem is much more general.

With short packets on, for all players, on the first update where player
status changes, whydead information is not sent.  Only on the 2nd update
is this info sent.  Now for regular players, this is never a problem,
as they get several explosion updates on geno, so on the 2nd explosion
frame they get the proper whydead.  But observers just go to the quit
screen, so they don't get the proper whydead.

For a player, on geno he goes from p_alive, then to 10 updates of
p_explode, and finally p_outfit, with p_whydead updated on 2nd explosion
update.  For an observer, on geno he goes from p_alive to p_outfit, with
p_whydead being sent on next update.  However, at this point the client
has already interpretted the death message, and is sending the "killed by
something unknown" message to the login screen.  The p_outfit is set at
the top of the death() function.    On player death, an update to client
is given with updateClient, and this *should* be sending the right
whydead.  And it does when long packets are on.

I tried my best to figure out what's going on - I thought maybe the
information wasn't being sent at all, but it eventually is sent.  I
thought the packet which sends it might be skipped, but I don't think so.
The best conclusion I can some up with, is that since player status and
whydead are in 2 different packets with SP, vs. in the same packet with
long packets, there is some timing problem.   I just can't figure out why.