Fix crash from hostile npc

Fixes #9370 - the cause is that `game::new_mon_seen` is actually empty, but `game::run_mode` is changed to 2, which indicates there is a hostile creature around. The code in `game::plmove` did not expect this.

I renamed `game::run_mode` to `game::safe_mode` (and changed it to use an enumeration instead of magic numbers), as this seems more appropriate (the game UI calls it safe mode, the options contains SAFEMODE, etc.). The whole thing was inconsistent:
- pause actions says "safe mode" and tells how to disable it.
- while driving it says "run mode" and tells how to ignore monsters.
- while walking it says "safe mode" and tells how to disable and how to ignore monsters.

The code that checks the safe mode setting and spotted hostile creatures is now in a separate function. It uses the words "safe mode" and tells how to disable it and how to ignore monsters.
Probably meant `check_safe_mode_allowed`?