Shoals water tiles

Note that these currently lack any sort of variation.
Give double (fictional and real) attribution to M:tG quotes.
s/mutation_name()/mutation_desc()/

It returns a whole-sentence description.
Let mutation_name() return the short name.

It's internally named "wizname" but is accessible to the player, for example
via the lua interface.  We also have a "short desc" that often differs, but
that's used only on the % screen.
Don't use enum numbers for mutations in crash dumps.

Also, include temporary ones.

Also, don't call all innates "demon".
Shoals water variations and disturbance tiles
Fix a potential heat aura crash.
Make dbg-scan look for a constriction problem.

Too bad, the save I got has it already corrupted.
Display Shoals' ETC_WAVES in tiles
Merge branch 'shoals-tiles'
Correctly end searing ray when paralysed/petrified/put to sleep
[txc] Improve handling of removed keys being edited back in.
[Transifex] Sync.

Signed-off-by: Raphael Langella <raphael.langella@gmail.com>
Improve formatting.
Fix shafting with items bugs.

First, the down_stairs function called handle_items_on_shaft,
but it called it after changing you.depth.
This meant it shafted the items you LANDED on, rather than the items you
were standing on at the time of shafting.

Second, the stash and map knowledge weren't being cleared despite the
items being obviously moved.

Third, place_transiting_items wasn't handling stacks properly.
If you shafted a stack of ammo, only 1 ammo would exist afterwards.
This also fixes also applies to any other usage of place_transiting_items.
Remove teleport-trap bubbles in gup_sewer_entry_bubbles.
Remove unused PSIZE_PROFILE.

It was intended for the stealth modifier, but that is handled as
a racial modifier instead (and doesn't strictly follow profile
size, anyway: witness minotaurs and djinn).
Don't leak RNG states in the AK Abyss.

_get_real_level (used for finding a real Dungeon level to copy) pushes
the RNG state, but failed to pop it if there were no real levels.  This
resulted in two extra states on the RNG stack for AKs, and possibly
more if they explored long enough.
Get rid of random_shuffle().

This should hopefully make games from the same seed proceed the same on all
architectures[1], as I can't think of anything else that behaves differently
based on pointer size, endianness or exact pointer values.

I used a NIH implementation instead of passing a third argument to
random_shuffle, as the interface is so much nicer.

[1]. This will be affected by terminal size (elemental colours are not
resolved outside the screen), tile windows size (random animations),
tiles/non-tiles and possibly others.

Also, I don't think we use STL hashes anywhere, but if we'd do, the STL
implementation will matter.  Please don't make this stop you: this commit
is only to make test cases from my stress tests portable which is a small
benefit, perhaps even smaller than the nicer call interface.
Constify and reduce scope.