Don't pretend successful pickup failed (#9294, ebering)
Simplify _put_item_in_inv calling convention.

By not requiring that put_in_inv be preinitialised to false.
Remove some support for pre-C++11.
Move definition of COMPILE_CHECK to AppHdr.h

This lets us use it in all of our headers, even ones that must be
included before debug.h.
Don't put an out-of-range value in a short.

Use 32767 (not SHRT_MAX, for hypothetical archs with 32-bit shorts) to
represent shop items in item_def::link.  Assert that this doesn't conflict
with monster items.

The save-fixup code is currently unconditional but that is negotiable.