Indentation fixes.
Tell db_lint it doesn't need to complain about "snake".
Drop map_shadow, use a bitmap and update it incrementally.

Copying the whole map_knowledge every turn was really costly.  We don't care
about any fields of the map other than the "seen" flag, too.  Thus, we can
move it into a bitmap and update only changes rather than everything.

This means we need to update the entire bitmap once exploration starts, but
that's a small fraction of the cost:

qw profiles:
before:
9.55%     check_for_interesting_features()
0.18%     start_explore(bool)
after:
0.29%     start_explore(bool)
0.10%     check_for_interesting_features()
Fatigue timer for monster Death's Door.

For some reason, I thought this existed already, but it didn't.

Right now it's the same length as the player's, but this might need to
be padded out more.
Remove monsters from the transit list when dactions kill them.

This could happen with when DACT_END_SPIRIT_HOWL resets the remaining
spirit wolves that are not in LOS.  See for example !lg Apol crash 1

There still may be other situations that put or leave dead monsters in
the transit list: see #7146.
Assert when trying to transit dead monsters (#7146)

Also, give a warning and ignore unmarshalled dead monsters on transit
lists.

[Committer's note: Changes from blackcustard's patch:
  * Remove the testing hack in Cure Poison.
  * Change the warning message in _abyss_wipe_square_at into an ASSERT,
    since we have fixed the known bugs that could leave dead starcursed
    masses in the grid.
  * Use MSGCH_ERROR rather than the in-character MSGCH_WARN for the
    warning message in unmarshall_follower_list.
  * Make a minor formatting tweak in unmarshall_follower_list.
  * Rewrite the commit message.  -neil]
[txc] Add an option to replace some ASCII punctuation with unicode.

Handles replacing hyphens and en dashes with em dashes. Also, put non-breaking
spaces where needed. Might add support for handling quotes (“”, „“, «»).
Fix escaped < not being unescaped if it is on line end.
Tutorial: fix formatting and rewrite some of the french translation.

Also, a couple of minor tweaks to english.
Remove a silly message.
Save input history for the stash search prompt

Has been gone since aa300c, 6 years ago.
Don't save empty strings to WebTiles input history
Fix a Ziggurat loot chamber
Fix a newline
Eradicate all other lone statics.

Other than MSVC junk.
Improve formatted string handling in WebTiles
Don't use .html() for no reason
Fix up saves with innate+temp mutation > total.

This does not solve the underlying issue, though.
Remove formicid skeletons.

Technically, they do have one (on the outside), but our notion of skeletons
assumes an internal one.  This is what applies to other bugs we have.
Fix a crash when running a webtiles server in OS X.

Fixes #6083. The crash would occur when sending datagrams from crawl to
the python webserver. In OS X, there is very little space in memory to
send datagrams and drawing menus such as the list of commands would
exceed this memory. The crawl process would then die after receiving too
many ENOBUFS errors from sendto.

ENOBUFS will still occur unless we add artifical sleeps to the datagram
sending loop. Sleep responses to ENOBUFS have been changed to reduce the
lag this causes.