Configure: Better guesses for usrinc and friends on some compilers

It turns out that we had some much more accurate way of getting
usrinc, libpth and incpth -- we can just ask the compiler.  This
was stashed away and only used when cross-compiling; what this
commit does is move things around so that it's also used in the
more common case.
Configure: Add $cppflags to cppstdin
Configure: Change a use of cc to $cc
Configure: use incpth, not usrinc, to search for headers.

incpth is all the paths that will eventually be used by the compiler to
search for headers; usrinc is the first of those paths to have all three
of errno.h, stdio.h, and time.h inside.
Introduce sysroot variable to Configure

This is borrowed from gcc and allows us to indicate the logical root
directory for headers and libraries, under which all -I and -L are
searched for. This patch adjusts Configure to search under $sysroot
(if supplied) for headers and libraries, instead of /.

--sysroot is added to ccflags and friends so that make in
ExtUtils::MakeMaker, and other extensions, will use it.

Currently this is only done if compiling with some variant of gcc
or g++.
Configure, sysroot: add --sysroot to cppflags
Configure, sysroot: Update defaults to use $sysroot
Configure, sysroot: failing to guess usrinc needn't be fatal

Previously, if we failed to guess usrinc, incpth, or libpth and were
cross-compiling, Configure would've bailed out immediately.  This commit
makes it more lenient if using -Dsysroot; in case of failure it will now
warn, but Configure will continue as usual; this is because the defaults
for those variables will now use sysroot, so they have a higher chance
of being accurate.
perldelta for -Dsysroot
Remove an old note about autoflush from the POD.

For IO::Socket::UNIX. See:

http://www.nntp.perl.org/group/perl.perl5.porters/2014/01/msg211275.html

<QUOTE>
And while you're at it, you might as well get rid of the autoflush note,
given IO::Socket 1.18 being fairly ancient (it shipped with 5.6.0).
</QUOTE>
Add examples for IO::Socket::UNIX.

In the SYNOPSIS.

See
http://www.nntp.perl.org/group/perl.perl5.porters/2014/01/msg211274.html:

<QUOTE>
From: Shlomi Fish
Subject: Patch for perldoc IO::Socket::UNIX

I noticed http://perldoc.perl.org/IO/Socket/UNIX.html does not contain any
examples (including not in the synopsis). If acceptable, I can a prepare a
patch that will include a simple server and a client for UNIX domain sockets,
see: http://www.mail-archive.com/beginners%40perl.org/msg116942.html
</QUOTE>

TC: modified the version number modification
perldelta for 466947750 and cf74bc378c0
[perl #116971] avoid feeding utils run by utils.t a bad @INC

the C<< use TestInit qw(T) >> both changes to the build tree root
*and* initializes $ENV{PERL5LIB} to "lib", so there's no need for
runperl() to supply -I.. when testing each tool.
[perl #116971] avoid feeding manisort a bad @INC

the C<< use TestInit qw(T) >> in manifest.t both changes to the
build tree *and* initializes $ENV{PERL5LIB} to "lib", so there's
no need fo runperl() to supply (an incorrect) -I.. when running
manisort.
use the more portable File::Spec->devnull for the stderr redirect

this allows pending-author.t to work on MSWin32
Use NOT_REACHED in one spot in hv.c

This reduces the size of hv.o by 32 bytes under clang.
Get t/io/utf8.t working under PERL_UNICODE
Make key/push $scalar experimental

We need a better name for the experimental category, but I have not
thought of one, even after sleeping on it.
Increase $warnings::VERSION to 1.21
Fix copy & paste error in tests