Resolve [perl #121769] with regards consistency of trailing zeroes.

Aliases were only being generated for perls >= 5.010, changed this
to >= 5.006

Found another place in corelist that required fixing for the doubling
problem.
Resolve [perl #121770] Win32 did indeed ship with v5.8.3
vec(): downgrade before accessing string buffer

This code:

  #!perl -l
  $x = substr "\x{100}\xff\xfe", 1;
  print vec($x, 0, 8);
  print vec($x, 0, 8);

In 5.18 and earlier prints

  255
  255

With blead it prints:

  195
  255

This is due to the fact that it does SvPV() first to get the string buffer,
then calls sv_utf8_downgrade(). With COW, the PVX of the SV may no longer
equal the value earlier returned by SvPV(), but vec() continues to use the
old pointer. This bug has always been present, but COW made it more
noticeable.

The fix is to just redo the SvPV() after a downgrade.
Remove PathTools::Cwd entries from Module::CoreList
Special case PathTools in corelist.pl too
Fix Windows build with MinGW-w64's gcc-4.8.0

The use of #defines like this:

#define ERROR_IPSEC_IKE_PROCESS_ERR_ID __MSABI_LONG(13834)
#define __MSABI_LONG(x)  x ## l

in new MinGW-w64 header files trips up Errno_pm.PL, causing hundreds of
warnings like this:

Bareword found where operator expected at (eval 22) line 1, near "13834l"
        (Missing operator before l?)

and hundreds of error values to go missing from Errno.pm.

This patch, from perl #121773, fixes that.
Make corelist.pl find OS2 modules as well
Reinstate OS2::* modules to Module::CoreList

There is yet some archaeology to be done to find with which
releases the individual module versions increased.
perlpolicy: We generally deprecate for 2 major releases

Update perlpolicy to reflect the current policy,
Archaeology completed for OS2::* modules
Removed two other ghost modules from Module::CoreList

'XSLoader::XSLoader' and 'Pod::Functions::Functions'
Fix op/taint.t failure on Windows with 64-bit gcc-4.8.0 from MinGW-w64

MinGW-w64's 64-bit gcc now uses the SEH C++ exception model rather than
SJLJ or Dwarf2 (see http://mingw-w64.sourceforge.net/download.php).  For
such gccs, op/taint.t will need libgcc_s_seh-1.dll rather than
libgcc_s_sjlj-1.dll or libgcc_s_dw2-1.dll.  Fixes perl #121699.

Likewise, libwinpthread-1.dll is necessary if gcc was compiled with POSIX
threading and linked with the libwinpthread library, which is the case for
the gcc-4.8.2 toolchain that is likely to be used with the Strawberry Perl
5.20.x series.  Thanks to kmx for this.
Upgrade to Encode-2.60

This upgrade includes the blead customizations from 080a704606 and
9e9002efd1 (amongst other changes) so that Perl 5.20.0 can ship with an
official CPAN release of Encode.
[perl #121771] Revert the new warning for ++ on non- /\A[a-zA-Z]+[0-9]*\z/

This failed as in it was producing:

  Argument "123abc" treated as 0 in increment (++) at -e line 1.

when the user incremented that value (which is a lie).

This reverts commits 8140a7a801e37d147db0e5a8d89551d9d77666e0 and
2cd5095e471e1d84dc9e0b79900ebfd66aabc909.

I expect to revert this commit, and add fixes, after 5.20 is released.

Conflicts:
	pod/perldiag.pod
Revert "Upgrade to Encode-2.60"

This reverts commit dc396cc29397b262d3cc1473ade4229c84e82ca3.
PATCH: [perl #121778]:BBC KAMIPO/autobox-String-Inflector

When I wrote commit 645de4ceb9a7cbcff21ef7df3a5f5eb36259571e,
and its predecessor commit, I wrongly thought that this code used a
count of bytes rather than characters.  I no longer remember why.
My previous experience was that a lot of code in the regex system talked
about characters in the documentation, when in fact bytes were what was
really meant.  The comments had never been properly updated to account
for UTF-8

But this code in fact is supposed to use a character count, and this
commit changes it to do so.
Bring a few lines in perlxstut.pod under 80 cols
Fix remaining too-long verbatim lines in perlxstut.pod
re-apply: Upgrade to Encode-2.60

Commit dc396cc293 was reverted by 547245703 due to issues under g++.
This commit re-applies the original commit; the next commit will fix those
issues.

-----

This upgrade includes the blead customizations from 080a704606 and
9e9002efd1 (amongst other changes) so that Perl 5.20.0 can ship with an
official CPAN release of Encode.
Fix Encode 2.60 with g++

The recently added Encode 2.60 won't compile with g++, due to assigning
a const char * const pointer to a char* struct field.

The intent of the code itself is a bit unclear, but it appears to be
to set SvPVX as a read-only alias of a const string, using the SvLEN()=0
trick to avoid it being freed.

Fix the g++ builds by casting away the constness, and add some asserts and
comments to make it less unclear what's going on.