Make the options menu refresh properly even in-game.

Fixes #399
Fix a warning.
Give all temporary objects the same ID (1), to avoid incrementing
flags.ident (which would cause save desyncs).
Just a couple of clarifying comments about the temporary ID being temporary.
Also remove the flags.ident overflow condition from mkobj_basic().
Do a lot of code cleanup.

This fixes a lot of unreachable code, and makes it clear when we're going beyond
standards-compliant code. In general, our code is compliant for X/Open, but in a
few cases in the server code, we go beyond that. In the event someone wants to
port it further, this should make more explicit the cases where we go beyond the
standard (and we definitely don't go far).
Merge remote-tracking branch 'jonadab/ticket386' into savebreak
Merge remote-tracking branch 'remotes/ais523/savebreak' into savebreak

Conflicts (just the 'last modified by' comments):
	libnethack/src/do_wear.c
	libnethack/src/pickup.c
Track every square stepped on when running.