Silence "tautological comparison" warnings.

The old code gave warnings like this under Clang 3.3:

adv550.c:4484:50: warning: comparison of constant 482 with expression of
type 'Location' is always true [-Wtautological-constant-out-of-range-compare]
    } else if (R_YLEM < newloc && newloc < 2*R_YLEM) {
                                  ~~~~~~ ^ ~~~~~~~~

Since future versions of Clang might reasonably optimize away
the tautological comparison, it makes sense to future-proof the
code by using `int` types wherever this warning appears.
Un-pointerify "base", "link", and "objects".

This change is just a cosmetic improvement; the old code forced
me to repeat the expression ((tt - &objs(MIN_OBJ)) + MIN_OBJ) more
times than I liked. Sticking to array indices throughout makes the
code easier to work with.
Convert dloc/odloc/dseen into a Dwarf struct.

This sets up the infrastructure to easily add fields per
dwarf, such as Adventure II's "toted object" field.

At the same time, retroactively make ODWY0350 more like
ODWY0551: rename dwarf_in() to dwarf_at(), and factor out
kill_a_dwarf().

No functional change.
Refactor describe_object() and spot_treasure().

ODWY0350 and ODWY0551 now follow more of the same structure.
In ODWY0551, I've changed an "if (closed) return" to an
"assert(!closed)", matching ODWY0350's logic. It's not possible
to spot any treasures once the cave has closed (i.e., once you're
in the repository).
Start work on Luckett & Pike's ADV440.
ADV440: FLY, RIDE, and SCORE.
ADV440: implement DROP and READ.
working on adv440