Don't require equipment juggling to autoidentify evokable jewellery

Not identifying invisibility if you were invisible when you put it on,
for example, was just unnecessary complication (and resulted in evocable
abilities then becoming available without identifying their source).
Check that -Wmissing-declarations doesn't fail before using it
Unbreak saving/loading with TAG_MAJOR_VERSION > 34.
Don't list potions of gain foo among unindentified.
Auto-id rings of rPois upon quaffing a potion of poison.
Make yyerror() static.
Shuffle some function prototypes to correct places.
Inline a trivial function.
Staticify.
Drop unused marshall-to-vector<char>.
Fix a crash and a corner case wrong behaviour.

Somehow, the crash occurs always, but only in LTO builds: checking
skill_progress() with uninitialized species at startup.

The wrong behaviour, on the other hand, applies only to selecting an
item class by glyph in ?/i and only if you redefined an item's glyph
based on its uselessness.
Fix a --test (only) assertion failure.
Fix a --test -DDEBUG_FATAL crash.

There's a (normally non-fatal) error message caused by uninitialized item
descriptions.
Don't print the line number in -DDEBUG_FATAL messages.

A line number in the error handler is useless, and the real line is lost (at
least without traversing the stack).
Fix a --test regression wrt repeatedly placing fixed uniques.
An ugly hack: exempt tentacles from arena faction calculations.

This commit causes problems with freestanding tentacles: if they're the only
members of a side, the fight ends -- but that's certainly better than a
crash.  Such tentacles don't exist except for manual requests, being normally
ever spawned by the spell.
Fix a crash during startup.

For some weird reasons LTO only, and shows up only on Windows, even though
it's in a platform independent part.  The division by zero here is real.
Typo fix.
Fix a warning by adding a missing prototype (and related includes).
Remove a duplicate prototype.

The commit 937ef52 added a prototype for is_feature to viewmap.h, but
there was already a prototype in view.h.  Remove the old one, since
viewmap.h is shorter, and furthermore remove a now-unnecessary #include
of view.h.