Minor vault batch

Mostly decorative vaults, except for one horrible monster pairing
that I've had at the back of my mind occasionally for ages.
Also, some nearby .des clean-up, with header standards imposition
or some organization stuff or whatever.

I briefly wanted the Lair and Zot vaults to have serial-vault-like
placement to repeat the weird shapes on a floor, but there are a
bunch of ugly implementation problems or letting them spill across
more than one floor each. It'd be mildly neat for some rather simple
decorative vaults to be capable of such a trick through vault.lua
and some recursive dgn.place_maps or whatever, but this seems rather
excessive for these cases for now, so whatever.
Don't crash on monster Summon Swarm.
Anonymise some dummy parameters.
Stop something's corpse armour falling off (ontoclasm)
tone down damage scaling for monster chain lightning

this keeps damage the same (58) for nikola (the only previous user), but
scales the max damage for ancient liches down from 82 to 64.
adjust lich primary spell weights

i had doubled up greater demon earlier because 20% seemed a bit low, but
25% is probably fine, especially since we are still getting comments
about randliches being pretty summon-heavy. note that because of the
chance of ancient liches getting two primary spells, the chance for
greater demon on ancient liches actually goes from 47% to 38% with this
change, compared to 33% -> 25% on normal liches.
fail deps.pl if submodules don't download properly
sigh
Don't give rPois- via Venom card or poison miscast to the poison immune

Messages are still mediocre here, but whatever.

The nonliving can still get the reduction if they're not already poison
immune, but arbitrary resistances around there are a headache and they're
already blocked from being poisoned.
Don't assume all spells are evoked.

LLLAAASSSTTTYYY
Remove an evil special case (#9281).

I think this was somehow re-enabled during the monster spell slot
rework; it's not needed any more, in any case, as monster digging is
handled differently.
Simplify (wheals)
Darken Out-of-LoS tiles a bit
Potion tiles
Clean up spl-book.cc a bit.

Use a map, and change "int" params to use the proper enum type. Whether
the latter is really a good thing is arguable, since it does mean adding
more casts in more places, but I think it adds clarity to the calls.
Add support for arbitrary-size fixedbooks.

Which requires some massive code improvements, thankfully. Unfortunately,
making randbooks (including vault-defined ones) >8 spells long takes a lot
more work to do.
Improve distortion and rebranding interaction (#9278).
Replace Potions of Confusion with Ambrosia

A new potion, inspired by the old food item. Causes confusion
and an Elixir-like HP & MP-regeneration effect. If the confusion
is cured or prevented, the regeneration goes away.

[Committer's note: tweaked a bunch of stuff.]
Restore Spider's sweet ambrosia

This reverts commit 24381c416777577198129986a9082a3d73d2224d.
Allow Cigotuvi's Embrace to be in the spellbook loot for Fleshworks

I put it in the randbook named after him that's sometimes
generated. Also added necromancy as a potential second school for
choosing the other random spells in this book.