Unbreak Vaults branch OODs.

Especially Vaults:$ heavily relies on those.
Simplify some Vaults monster distributions.

No change except for a miniscule - for V:1 and + for V:2 hydras.
Go through normal item creation for hide drops.

This fixes some fields left uninitialized (item.clear() would be enough),
and removes the quirk of using non-standard colours.
Use start/end instead of top/bottom in the documentation of mon-pick distribution.

The old wording was ambiguous, as it could be taken for shallowest/deepest.
Use even less ambiguous wording (Grunt)
Fix #ifdefs for next major version bump.
Fix a memory leak.
Fix an off-by-one error.

'cuz losing the value of 0x7FFFFFFF will make the sky collapse!
Placate valgrind about incorrect sscanf() use.

It's an extremely rare case where ignoring errors is acceptable.
Fix a crash with generating wraiths on V:1 (and adjacent levels)

As a side effect, they are also slightly less common, but this seems
inconsequential.
Remove a spiked flail.
Be forgiving for single-level SEMI ranges.
Fix compflag.h not being regenerated on a rebuild with different flags.
Remove some prototypes for extinct functions (blackcustard)
Don't include literal "%s" in compiler info.
Dump the abyssal state during crash.
Add formatting fix.
Remove another spiked flail; replace it with a morningstar for now.
Obey requests to disable monster spawns during abyssal shifts.
Reintroduce the memory leak to make trunk less crashy for now.

The real bug is not fixed, let's discuss with bh the best way to fix this.
I'd get rid of all static structs here, moving part of them to file-scope
globals to make sure they're truly independent of runtime variables, and
explicitely constructing the rest.  Which may or may not be the right
solution.