Refactor polyself handling

This reduces cockatrice-related code duplication, and allows the
polymorph code to run in a no-messages way (not yet perfect, but it's
better than it was).
Add a new, non-scoring "polyinit" birth option

This is a pretty common feature request, and I wanted something like
this that's both frequently requested and unavailable elsewhere for
4.3 to give people a reason to play it. Also, something that's pretty
easy to implement, too (after the polyself and property refactors).
Build system improvements

This upgrades to aimake version 3.3, and adapts the build system to
take advantage of its new features (one of which is "features",
meaning that the tiles and server executables are now optional, and
that users can switch between the provided libjansson and their own
copy of it).

This also updates the README and FAQ, because the build system
improvements meant they needed substantial changes anyway.

Fixes #478.
Fix #229, #230

A new "animation" option controls the relation between the passage of
time in-game and out-of-game. "instant" is the old behaviour. With
the other choices, the game will pause for a short time (or a long
time, if you chose that option) every turn within an occupation
callback. (TODO: Perhaps it should do that for helplessness too.)
The action can be interrupted with a key, or a click on the map.
(And no matter the setting, it can be interrupted using a prefix
count.)
Fix #403 (cursor flicker issues, including jumping on tiles)

This was a combination of a bunch of different things: a bug in
libuncursed, and incredibly fast and loose messing around with the
cursor in nhcurses. The basic problem is that turning the cursor on
scrolls any tiles window that might overlap the cursor location, which
is normally desired behaviour. The libuncursed bug was that it also
scrolled when turning the cursor off, too; but that isn't enough to
reproduce the bug on its own (it just makes it more visible). Now, the
code in nhcurses does a bunch of "remember the cursor state, turn it
off, show a window, hide the window, turn the cursor back to its
previous state"; notably, it turns the cursor back on without placing
it anywhere, and it may well be over the tiles region at the time.

This commit fixes it by not actually showing the cursor until the
last possible moment, when (presumably) it's in the right place.
Remove dead WIZARD build option

It didn't actually do anything. Fixes the remaining issues in #355.
Implement log_desync
Add a #desync command for debugging the save recovery code
Don't error out when a server cancel interrupts an incomplete command
Allow automatic recovery from impossibles and panics

Fixes #375.
Warning fixes: playerselect.c

That was much easier than I thought it would be.

Fixes #484.
Warning fixes: keymap.c

Yay, NetHack 4 now compiles warning-clean (at least on gcc).
Fix wording of the old corpse warning, allow fall-through

Fixes #119. Also means that if a corpse is both too old or too
nutritious for a satiated player, the warning doesn't prevent
warnings about the monster from which the corpse comes from being
shown. (This gives a slight advantage to edibility players.)
Make tame spheres consistently unable to pick up items

It was inconsistent before. Fixes C343-138 (#426).
Fix various vault-guard-related buffer overruns

Quite a lot of the code seems to assume that monsters are on the map.
We should really make fake corridors independent of the vault guard
monster, so we can remove the guard altogether and still keep the
corridor around.
Fix graphical issues in huge menus in hugeterm
Tell the player how to quit if they #quit

Despite several minutes of trying, the extended command code was too
excessively daniel_t to get it to work with client-based commands
like saving and quitting. It contains things like flags fields where
some of the bits sometimes are bits and sometimes form an integer,
and where multiple bitfield constants have the same value and the
code only works through coincidence.

I'm not going to be able to get this fixed before 4.3. So let's just
print a message instead, so that players know how to exit.
Upgrade aimake (--config-only feature)

To combine it into the Debian system better.
A start on Debian packages

This isn't working yet; aimake fails on the install step, for an
unknown reason.
Let's have some documentation in the package

This also includes a man page and --help command line argument.