Don't rely on monster spellbook enums for checking monster spells.

Including that header introduces a massive amount of dependencies (almost
everything includes mon-util.h), and gives incorrect answers for monsters
with anything but a simple spell set.

It also broke parallel builds because of no dependency declared in the
Makefile.

This reverts then rewrites commit 42e6b2f7096da884aa620f6ee924d9e325027139.
Don't use "" as a brand name.

It does match "", which can be bad.

Instead, make SPWPN_CONFUSE work.  The brand is still strictly banned, so
you can't get one via makeitem.
Make status lists diffable.
Disable a vault.

Regular bushes redefined for nor reason is one thing, totally unhinged
sentient spellcasting oklobs go way, waay too far.
Don't spam "You cannot train any new skill." over and over.

While this message cannot be totally ignored, as it warns about wasting xp,
usually it means you could potentially learn a spell you don't want just to
place xp in its skill.  That firestorming conjurer may have better things
to do than lugging a weapon of yet another type, or learning a cold spell.

I made this message repeat itself:
* when you reload the game
* after exiting the 'm' screen
Depermanentify Tengu/Black Drac flight upon losing level.
Fix autoexplore ignoring sacrificable corpses if you step on them once.

Instead, if the player presses 'o' twice, ask for confirmation, like
autopickup does.  I fail to see why anyone would decline to sacrifice
them if they don't butcher or animate, but hey.
Fix teleporter vault trapping players.

Or, robbing them of XP and items unless they're spoiled (Nemelex's Gamble).

In other cases, it's a matter of disrobing just to go through, which is a
mere inconvenience except for zigsprint, where it was special-cased (yay
consistency).

It was also inconsistent with all other fixed means of teleportation, such
as Passage of Golubria, portal vaults, hell portals, abyss portals, etc,
which all are not swayed by mere -TELE.

In the first discussion that happened, the only reasoning for the change
was similarity of names between "teleporter" and "-TELE", rather than
gameplay reasons.  So let's deal with that instead.

This reverts commit 7f0416492553db52d7613d506b8ab584b7819904.
Tentatively rename "teleporter" to "short-range portal".

This name sucks, though, so I did not change it internally.  Could anyone
suggest something better?

Even "teleporter" is probably acceptable, -TELE already doesn't stop
banishment, portals, Golubria, etc, and item description already handles
that.
Clear lua dgn.persist between mapstat iterations.

In the default mode, each iteration generates maps for all possible levels,
so an iteration is equivalent to a full game.  No state should survive
between one and another.
Make the Water card independent on processing order.

If you drown a monster whose death changes visibility (the Royal Jelly,
those fancy-shmancy quest vaults), area to the south of the monster's
position would be all flooded.
Let multiple draws of the Water card stack.

Before, you had to lure the monster in question into dry grounds; most
unspoiled people didn't even notice the second drawing does nothing
despite the message claiming it does.
Allow running test/stress/timeall on an arbitrary set of tests.
Disallow ghost_demons from Shadow Creatures.

Monsters with that structure tend to have non-trivial answers for "will it
anger a god".