Fix one old bug and a couple of refactoring-related ones.

The old bug is that I carelessly swapped the drop-your-inventory
code with the turn-off-a-carried-lamp code. Knuth got it right
originally.

The other bugs are due to my forgetting to change "0" to "MIN_OBJ"
in a couple of loops.
Copy more wording and spacing from WOOD0350.

Knuth changes *REALLY* (asterisk-delimited in Woods' all-caps
version) to REALLY (using caps for emphasis). Let's use both.

Also, I just noticed that Knuth replaces "my orange smoke" with
"my resurrection kit" in one message, presumably just to avoid
distracting repetition. The repetition is awkward, but not so
much that I think it *needs* to be altered.
Fix the "FEED [dead] BEAR" bug.

KNUT0350 explicitly redirects "FEED BEAR" to "EAT BEAR" when the
bear is dead... but due to a sneaky switch-case fallthrough, the
message that ends up getting printed is default_msg[EAT], not
the normal "EAT BEAR" message. I had misread this when I ported
Knuth's code; hence my confused TODO comment here.

I finally checked this behavior against WOOD0350, and was surprised
to see that Woods' version of this code is perfectly straightforward,
with no sneaky control flow. If the bear is dead, print "Don't be
ridiculous!", full stop. I've fixed the mistake in my code.

(Notice that if the bear is dead, the food must already have been
consumed, and therefore will never be "here".)
Remove a TODO comment.

Knuth's code uselessly sets "k" to 0 or 1 here, which puzzled me;
but I see from WOOD0350 that Woods' code actually used "k" as an
index into a table of messages identical except for the word
"clam" (resp. "oyster"), and I guess Knuth was doing a literal
translation even though "k" is dead in KNUT0350; Knuth uses the
same "clam_oyster" local variable as I do, except that of course
he makes it a preprocessor macro instead of a real variable.

So, nothing needs to change, but I can now remove the comment.
Remove another TODO comment.

Again, Knuth's code is slightly more convoluted than it ought to
be. This time, in fairness, Woods' code is being a little tricky
by unconditionally setting FIXED(BEAR)=2-PROP(BEAR), and Knuth's
code could be taken as a literal translation of that.

I'd like to overhaul the ugly handling of objs(t).base, but I'm
not sure what to replace it with.

    Woods used two arrays PLACE(t) and FIXED(t) to denote
    objs(t).place and what we might call the "place of the
    other half of t". Woods overloads FIXED(t) to indicate
    mobility: t is portable iff FIXED(t) is zero.

    Knuth also uses two arrays place[t] and base[t], but his
    base[t] contains the object index of the other half of t,
    and then you have to look up *its* place[]. Knuth overloads
    base[t] to indicate mobility: t is portable iff base[t]
    is t.

    Platt introduces the explicit notion of "schizoid" objects,
    so instead of having objects TROLL and TROLL+100 (Woods)
    or TROLL and TROLL_ (Knuth), you can have a single object
    TROLL that appears simultaneously in two consecutive
    locations. This isn't a terrible idea --- it's certainly
    an improvement on Woods and Knuth --- but it's still kind
    of awkward to deal with.
Merge branch 'master'