Don't use game RNG state for elemental colours.

ETC_RANDOM, ETC_ELEMENTAL, and ETC_TORNADO all called random2 directly
or indirectly.  This could result in desynchronisation of seeded test
runs, if something caused the cells to be repainted a different number
of times.  Use ui_random instead.
Properly evaluate threats when considering where to revive a felid.

I don't think this code has ever worked as intended; in the past it's
produced amusing results such as placing the revived felid next to the
Lernaean hydra.

Mainly, I'm fixing this because the code's about to be used for
something else.
Merge branch 'master' into no_backtracking_god
(Ab)use bring_to_safety() for Wulndraste's Change of Scenery.

In other words, it tries hard to find a safe place to land you.