Fix beehives reverting after bees are dead

This fixes the walls and floor of beehives losing their yellow color
after the bees have been killed.

This is meant to go with commit 062a3e6fbb (use thematic colors for
special map regions).
Autoexplore: Don't step next to just S_stone

Instead, check for S_unexplored.

The unexplored() heuristic function used during autoexplore is adapted
from TAEB (a NetHack bot), which couldn't tell the difference between
stone and unexplored area.  However, NitroHack does let the player tell
the difference, so this commit changes the algorithm accordingly.

This is meant to go with commit 621c5ffedd (CS747,748,765,768,815
autoexplore from NetHack4).
Autoexplore: Weight entry into door/boulder spaces

... and not just the spaces reachable beyond them.  The effect is that
moving _into_ such spaces is considered costly, not just through them,
meaning that autoexplore is less likely to magnetically lead players
into them (another, upcoming, change is needed to completely eliminate
that effect).

Incidentally, this also justifies their existence in the for-loop
they're in.
Autoexplore: Don't favor exploring closed doors

This stops autoexplore from magnetically leading the player into closed
doors, especially locked ones.  This was happening because of the extra
weight that room spaces get during autoexplore also apply to the edges
of the room as well.

This is meant to go with commit 500b497342 (favor room spaces during
autoexplore).
Autoexplore/travel go around peaceful monsters

Autoexplore and travel now try to go around peaceful monsters and
monsters with no active attacks.  Hostile monsters with attacks are
excluded, since the player is unlikely to want to just walk past them.
Autoexplore: Disable when weak from hunger

Instead of exploring, autoexplore will give the message, "You feel too
weak from hunger to explore" when weak from hunger.  This should stop
repeated presses of the 'v' key bringing the character into the fainting
state without realizing it.

I was going to put this at the fainting level, but fainting from hunger
already stops autoexplore and usually occurs within 20 turns of entering
the state anyway.
Autoexplore: Don't revisit starting stairs

This fixes autoexplore leading the player back onto the very first
stairs of the game, or whatever space they started on when entering the
dungeon.

This complements commit bae08bb297 (autoexplore: prevent revisiting
entrance stairs).
Show weight in inventory object action menu title

If the invweight option is enabled, include the weight of objects in the
title of their action menu, like it appears in the inventory proper.

This also fixes a crash bug in that menu for objects with very long
names (the buffer was too large for the menu system to handle).
Add wield cmd to inv obj action menu of alt weapon

This allows the wield command to appear in the inventory object action
menu for objects equipped in the alternate/swapped weapon slot.
Fix call prompt title buffer overflow

This is almost the same as UnNetHack's fix for the same issue with the
naming dialog: the call dialog's title includes the name and type-name
of the object type which could be long enough to overflow the buffer
used to build it.  See also commit 2eddb58f61 (CS660 fix object calling
then naming twice crash).

This bug also exists in upstream NitroHack.
Add name command to inventory object action menu

The name command allows the player to name a single object, or call all
objects of its type if it is permitted.  It appears in the action menu
of all objects except for gold pieces.  (Aside: NitroHack allows gold
pieces to be named, which is a bug.  It doesn't stop stacking, so it's
not too serious.)
Show query string when consulting data.base

The string searched for in data.base will now appear as the title of the
entry that's shown.
Use singular object name when consulting data.base

Using the describe feature on objects will ignore quantity/stacking when
searching data.base, hopefully improving its hit rate.
Fix grammar for name prompt fallback on long names

This fixes the grammar of the prompt asking "What do you want to name
these scroll?"; simple_typename() always returns a singular name.

This is meant to go with commit 2eddb58f61 (CS660 fix object calling
then naming twice crash).

This bug also exists in UnNetHack.
Fix extra msg for empty bags when making dumplog

This suppresses the duplicated "sack is empty" message when the dumplog
is created at the end of a game.

This complements commit 00fa98f8ce (hide prompt for empty bags when
creating dumplog).

This is meant to go with commit 28c01f1809 (dumplog, reimplemented).

This bug also exists in upstream NitroHack.
Show throw in action menu of quivered/alt weapons

It was silly not to show throw for quivered objects, since that's why
the slot exists.  Objects in the alternate slot were allowed to match
the behavior of the wielded object.
Show "throw (fire)" in action menu when firing obj

"t - throw" is replaced with "t - throw (fire)" in the action menu of
the object if it would be fired with the currently wielded weapon.
Add unwield to inv action menu of wielded object

"w - unwield (empty)" now appears in the inventory object action menu
for the wielded object.

Internally, this requires support for nh_get_object_commands() to set an
invlet for each object command, the interface to send that invlet back
when setting its next command, and for do_command() to reinterpret '-'
into &zeroobj for command functions that support it (flagged
CMD_ZEROOBJ, currently only engrave and wield).
Add swap + twoweapon to wielded obj action menus

Wielded and alternate slot objects now show "x - swap wielded" in their
action menus.

Wielded and alternate slot objects also get "X - twoweapon (begin/end)"
if both slots are filled.

Internally, this requires the interface to interpret 0 in the altkey
field of the selected command as sending no argument with its next
command.
Color corpses in inventory like on the map

For example, lichen corpses will now appear bright green in the
inventory and other object lists, like they always have when seen on the
map.

This also makes objects' monster numbers available for statues and
figurines in object lists, in case graphical tiles want to draw those
objects in special ways.

This makes a breaking change to the network protocol to send and receive
the new omonnum field of struct nh_objitem.