Fix unknown shaft traps (#7680)
Make a pointer parameter const.

It was made non-const in 0.13-a0-3070-g24746d4, but as of
0.14-a0-494-gc6935ab it can be const again.
Display Orb on } screen, % screen, and dumps.
Let choose_stat_gain work by returning a string.

It used to be that to use this lua hook to automatically choose a stat at
level-up, the function choose_stat_gain had to call crawl.sendkeys('s') or
some such. This still works, but now the function can return a string
instead and the first character will be used.
Enable automatic bypassing of the skill menu for potions of experience via lua.

If the player defines a lua function auto_experience(), this function will
be called when the player uses a potion or card of experience and the skill
menu will be skipped (distributing exp to the skills that are currently
turned on) if the function returns true.
Only apply the contam -Wiz effect to Djinn.

This effect seems analogous to not being able to cast spells at starving with
normal species, so it makes sense to limit it to the one species that gains
contamination instead of losing nutrition when casting spells.

In addition, this penalty gives fairly precise information about contam
level if you have a spell memorized, and only Dj already has such
information (on the contam bar). Other species would check their failure
rates all the time when at yellow glow, both to get a sense of how bad the
glow is and to know whether the penalty is +25 or +200 (and thus whether
spells are usable).
Use depth in Abyss vaults
Do away with the "abyss" tag in favour of DEPTH specifications.

If we want selectability by Abyss depth, the Abyss vaults all need DEPTH
tags anyway, so we don't need an "abyss" tag to go with that.
Fix weapon egos not identifying properly on failed wields.

This was broken a few days ago by 58b199c.
Don't allow using Vitalisation while confused

Since it no longer actually cures confusion, this isn't very useful. In
general it's supposed to be used pre-emptively.
Don't waste a turn failing to hit a rock worm in a wall with an axe.

Cleave is blocked by the wall also, so it really is a null action.
Fix build on ancient compilers.
De-rune some doors.

Neither of these vaults is particularly bad to open, and autoexplore shouldn't
fail to find runes or branch entrances.
Remove a couple of stair vaults.

To paraphrase elliptic, they don't really do anything except in cases
where they cover all the entrances/exits, in which case it blocks
autotravel and thereby annoys players greatly.
A few more sub-ruler names for randarts.
Drop an always true check.

In a virtual method, you can be quite certain we're of the correct type.
Implement a prototype for a new version of radius_iterator.

During conversion, use the old code.

My target will have only two types of functionality:
* iterating over a circle of a given radius
* as above, with a LOS check towards the center

The current radius_iterator/circle_def/los_base tangle either takes a
majority of CPU time or at least a sizeable chunk in profile runs, due to
a bad case of OOP abuse in tight loops.  This badly needs a rewrite.  The
ability to pass it a square or someone else's los can be done using a
different iterator or checking los manually later, respectively.
Assign reasonable los types to auras.

It makes no sense for liquefaction to be stopped by clouds, or for some to
work through glass.
Drop "soul auras".

They costed us complex bookkeeping every turn if there were any lost souls on
the level.  Instead, just check the "hard way" (faster than one turn worth
of aura processing) whenever a monster dies.

No functional changes.
Drop a redundant check.

LOS_NO_TRANS implies LOS_SOLID.