PerlIO::scalar: stringify refs

If $s in
    open my $fh, "<",  \$s
or similar is a ref, then
stringify that ref: i.e. convert it from a ref into the string
"SCALAR(0x....)" or whatever.

This fixes

    RT #119529 Filehandle opened from ref to ref hangs on reading

which in this case was looping forever, since it kept thinking that
the var was a string ("SCALAR.."), but whose length was 0.

I haven't gone for a complete "always force var into a string" approach,
since PerlIO::scalar has quite a tolerance for "bad" vars; e.g.
it won't warn if $var is undef or a read-only constant number etc;
and it already normalises under some circumstances and not others.
So I've just increased the cases somewhat where it normalises.

Also, I didn't look to closely at the code that was looping (or to put it
another way, I looked at it but didn't understand it), so it could
conceivably still behave badly on some other strange type of variable that
manages to avoid getting normalised.
Porting/Maintainers.pl - Move most of ext/ and lib/ into _PERLLIB

Most ext/ and lib/ entries in %Modules only list a single folder or a couple
of files sharing the same basename and specify no more information other
than UPSTREAM => 'blead'. This information can be more succinctly conveyed
by a line in _PERLLIB.

Only the following ext/ and lib/ entries in %Modules now remain:

B (has EXCLUDED files)
B::Concise (has a MAINTAINER)
VMS::DCLsym (has a MAINTAINER)
VMS::Stdio (has a MAINTAINER)
Win32CORE (has a MAINTAINER)
warnings (has a MAINTAINER and files from various places)

The middle four can probably move too if it is deemed that the MAINTAINER
information is not useful.
Skip two test modules from the cmpVERSION.pl check
perldelta for 552908b174
fix compiler warning
isa should fall back to checking @UNIVERSAL::ISA in all cases
Upgrade Test-Simple from version 0.98 to 0.99

This incorporates the CUSTOMIZED files t/fail-more.t, lib/Test/Builder.pm,
lib/Test/Builder/Module.pm, lib/Test/More.pm and lib/Test/Simple.pm.
Regen t/porting/customized.dat
Remove s2p from Porting/Maintainers.pl

As per RJBS's instructions in the onionsketch:
http://irclog.perlgeek.de/onionsketch/2013-10-17
Porting/Maintainers.pl - Remove most UPSTREAM flags and generate from FILES

With only one exception (version, and only until an outstanding rt.cpan.org
ticket is resolved), UPSTREAM is now 'cpan' for all FILES in cpan/, and
'blead' for everything else, so there is no point in explicitly stating
this: remove them all and auto-generate the same information instead.

The was discussed on p5p in the following thread:
http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2013-10/msg00321.html
fix off-by one error in a2p

The str_gets() function, when encountering a newline character, checked to
see if the previous char was a \ escape. For a blank line, the check would
read the char at the position one before the start of the buffer. There
was a test to avoid this, but it was off-by-one.
Call select's 4th arg's magic

[perl #120102] CORE::select ignoring timeout var's magic

Patch by Eric, with tested added by davem.
Correctly parse class name in 'for my class $foo

The code in toke.c on encountering 'for my' or for our',
skips past any optional package name, then checks that the next thing is a
'$', so that it can give a "Missing $ on loop variable" error if
necessary.

However, the code to skip the package name was using scan_ident() rather
than scan_word(); the latter assumes that the first char was the sigil,
and starts scanning from the second char onwards. So in something like

    for my a1b $x (...)

scan_ident() starts scanning at '1b' in 'a1b', thinks it scanning $1 or
similar, and stops at the first non-digit char, in this case the b.

The fix is to use parse_word() instead.
add comment to foreach toking code

to make it clear what its doing.
Remove all IGNORABLE files under cpan/

This was discussed on p5p:
http://www.nntp.perl.org/group/perl.perl5.porters/2013/10/msg208635.html

One LICENSE file (Locale-Codes) has been removed (contrary to one suggestion
in that thread) since it was the only one, and only says "This module is
free software; you can redistribute it and/or modify it under the same
terms as Perl itself." anyway.

Two files that I had previously suggested retaining for the sake of tests
have also been removed. In one case, a test script has been modified (in
Digest-MD5; I will send a ticket upstream); in the other case (in
Test-Harness) I have removed the test which depended on the MANIFEST files,
as suggested in the above thread.
Remove further IGNORABLE-like files under cpan/

These are all examples, demos and oddly named READMEs.
Add the rt.cpan.org ticket number for the Digest::MD5 customization
Remove some IGNORABLE files from ext/ and lib/

There is surely no point in having any of these modules' MANIFEST files in
the core distribution, but other IGNORABLE files should generally stay in
ext/ and lib/ in case they ever get dual-lived (and likewise for modules in
dist/, which are already dual-lived and some of which include even MANIFEST
files, presumably used to roll CPAN releases from).

However, XS-APItest's README file and DBM_Filter's Changes file offer
nothing useful, so remove them.
perldelta updates for recent changes
Upgrade Scalar-List-Utils from version 1.34 to 1.35

(None of the files listed as EXCLUDED are actually in the CPAN distribution
any more anyway, so remove them from Porting/Maintainers.pl.)