Include mon-spll.h just once.

This sadly doesn't fix the "rebuild world" problem, as mon-mst.h derived
from it is still included globally.
Don't trample constriction when a level gets unloaded.

It doesn't matter for monster-vs-monster as both get reset together,
but mon.stop_constricting_all() and mon.stop_being_constricted()
will stop constriction that affects the player.  The monster got
saved properly just before that, though, so when it comes back we
have constriction out of sync.
Revert "Revert "Actually marshall the constricting map.""

This reverts commit ec0fa00cfee16130cd57b80c48cf5ca3bcd2fcf1.

The fix was correct, just incomplete.
Fix existing bad constrictions as well as new ones.

This reverts commit ec0fa00cfee16130cd57b80c48cf5ca3bcd2fcf1.
Clear held and escape_attempts when resetting constrictions.
Repaint the ^O bikeshed less brightly.
Abort rather than loop infinitely if all layouts fail.
Revert Abyss/Thrashing horror changes

These shouldn't be changed so soon before 0.13. Frenzy also no longer exists
as a spell.

This reverts commit f9558cffac70bb8210ce7da55b14fe73de9138df and
c0fda6b406a43fcf7e83bbfb0278cf3103afc5ba.
If checkpointing is disabled, don't ever commit saves when not leaving.

This means such a game will be completely reset to the state at start
if something bad happens.  This should help debugging crashes that involve
a level_excursion, like those I recently get in the Abyss.