Protect against ptrdiff_t not being available.

This is primarily for pedantic builds; ptrdiff_t is now standard,
and had already been in use in the core without guards.
Adding missing HEKfARG() invocations

This silences a chunk of warnings under -Wformat
Adding missing SVfARG() invocations

This silences a chunk of warnings under -Wformat
Cast %p arguments to (void*)

These were all part of debugging statements; the commit silences
a chunk of warnings under -Wformat
Mark several functions with __attribute__noreturn__

Namely, die_nocontext, die, die_sv, and screaminstr. They
all croak and never return, so let's mark them as non-returning.
Removed set_emergency_buffer from malloc.c

This was added in 2003, but never used.
Added several missing PERL_UNUSED_RESULT()
Silence several -Wunused-parameter warnings about my_perl

This meant sprinkling some PERL_UNUSED_CONTEXT invocations,
as well as stopping some functions from getting my_perl in
the first place; all of the functions in the latter category
are internal (S_ prefix and s or i in embed.fnc), so
this should be both safe and economical.