Also build PerlIO_get_layers with -Dusesfio

This extends patch 5fef3b4a7f0c97d3 from April 2003 from fixing the
stdio-only build to also fix the sfio build, which was broken when
PerlIO_get_layers was added (2 commits previously, 39f7a87036eb8d13).
Without this fix, perl would refuse to build with -Dusesfio.

Given that 39f7a87036eb8d13 was merged to maint-5.8, this means that the
-Dusesfio build was broken for v5.8.1 and later on that branch, as well as
for v5.10.0 and all subsequent releases. Given that in the past 10 years,
no-one has reported this, it's safe to assume that no-one considers sfio
support to be important.
Fix sfio breakage in PerlIO_findFILE() caused by commit de009b76d60bdeb8.

One hunk of commit de009b76d60bdeb8 (April 2005) makes a variable const,
which is then assigned to. This is in sfio-specific code, so was not noticed.
This change was merged to maint-5.8 as part of commit f1c3982b668c9e30 (Sep
2005).
Fix sfio breakage caused by the addition of PERLIO_TERM in Oct 2006.

Commit 6cb8cb214e85c7d6 in Oct 2006 added a new macro PERLIO_TERM, but didn't
provide an appropriate definition for the sfio build. Commit 6b29934bd65555b7
(also Oct 2006) plus this change provides a working PERLIO_TERM for sfio.
Fix a typo introduced in Nov 2008 by commit 4ee3916907333148.

One use of dSAVE_ERRNO was mistyped as dSAVED_ERRNO, but as it was in the
sfio-only code it was not spotted.
Fix sfio breakage caused by the fix for RT #78494.

Commit 2e0cfa16dea85dd3 (Feb 2011) fixed RT #78494, but inadvertently broke
non-PerlIO configurations. -Uuseperlio was restored in March 2011 with commit
b6ae43b72863e12d, but this change is needed to restore the sfio build.

This is the last fix needed to get blead building with -Dusesfio, after 10
years of breakage. However, many many tests still fail (and one hangs).
Note, specifically this is only tested with sfio97. Perl is making a couple
of cheating assumptions which break with sfio2005, and I've not attempted to
fix Perl's naughtiness to get it to build with current sfio. (Nor has anyone
else in the past 8 years, it would seem. Or even reported a problem.)
Purge sfio support, which has been broken for a decade.

The last Perl release that built with -Dusesfio was v5.8.0, and even that
failed many regression tests. Every subsequent release fails to build, and
in the decade that has passed we have had no bug reports about this. So it's
safe to delete all the code. The Configure related code will be purged in a
subsequent commit.

2 references to sfio intentionally remain in fakesdio.h and nostdio.h, as
these appear to be for using its stdio API-compatibility layer.
Purge sfio support from configure.com, Configure and related files.

Most of these are actually generated, so the maintenance complexity reduction
is not as impressive as the diffstat suggests.

(Incorporating a fix from Merijn)
Add the removal of the sfio support to perldelta.

Given that this code no longer works, it doesn't feel important to list it in
the headlines. It's not clear where the best section for it is.
Merge the sfio removal to blead.
Make perl_setup.com infer perl_root from its own location.

The perl_setup.com command procedure initializes the root logical
name, the shareable image logical name pointing to the main Perl
dynamic library, and either command symbols or command table
entries that reference those logical names.  It's always by
default hard-coded the prefix chosen at configuration time as the
basis for where Perl should be located.

The original rationale for that was that it gets run right before
installperl and sets things up correctly for installation.  But
that optimizes for a single use case that is easily handled by
specifying the correct install location as a parameter and
pessimizes for every other use case, notably relocating an
installed Perl directory tree.

So make it infer the correct root from its own location and
specify the install location only at installation time.  Among
other benefits, this allows the install location to be chosen
at installation time by overriding the default prefix like so:

  MMK/MACRO=(PREFIX="DSA0:[homedir.MyPerl2.]") install
Fix $Config{src} on VMS.

It may not matter much as it's been broken since dab31494e8bab and
doesn't seem to have caused any trouble, but to be pedantically
correct the location of the source is not the same as the install
location.
Add names (descriptions) to t/dumper.t tests lacking them.

TEST() runs over its first argument three times.  The description is only
printed on the first of the three tests.  Suggestions for more precise
descriptions welcome.

For: RT #120854
cut out/inline wrapper calls of sv_*catpvf*

these wrappers use 1 or 2 indirect calls to reach the guts of Perl's
format string engine. Win64 and ARM (and I assume other 4 register regcall
platforms) compilers can't easily tailcall or optimize these due to
sv_vcatpvfn_flags > 4 args and strlen calls. They allocate lots of C
stack and set up new frames and copy args over. So just call the core
format string function directly.

Not all paths to sv_vcatpvfn_flags were optimized since they have no CORE
or CPAN grep usage. sv_vcatpvf has usage, sv_catpvf_mg* have none but were
done anyway because they sound like they would be commonly used.
perlapi: Consistent spaces after dots

plus some typo fixes.  I probably changed some things in perlintern, too.
Consistent spaces after dots in perlintern.pod
perlguts: Make Memory Allocation and PerlIO top-level

These two sections were in the middle of the subroutines section,
but they have little to do with subroutines, whereas the surrounding
sections do pertain to them.  I think it was a mistake for them to
have been put under Subroutines to begin with.
perlhacktips: -Accflags for PERL_DEBUG_READONLY_OPS

It is not clear to all that this has to be specified as
-Accflags=-D... when used on the Configure command line.
Improve rcatline bad fh warnings

This is not helpful:

append I/O operator() on closed filehandle STDIN at - line 3.
append I/O operator() on closed filehandle STDIN at - line 4.
	(Are you trying to call append I/O operator() on dirhandle STDIN?)

That .=<> compiles to a separate op from <> is an implementation
detail, so show ‘readline()’ as we do with <>.