Split file into parts with and without substitutions.

At this point, there are no functional changes.  This just prepares
the way for future work.
Make sure the PWD environment variable points to the t directory.

runtests is typically run under /bin/sh.  If the user uses a different
interactive shell (such as /bin/ksh) that maintains the PWD environment
variable, but /bin/sh does not, then the 'cd t' line in runtests ends
up changing the working directory without updating $PWD.  Several tests
in t/io/fs.t rely on being able to change directories and then get back
to the original.  The tests assume that if $PWD is set at all, then
it is set correctly.  This fix changes runtests to ensure it is so.
Fix uninitialized-value warnings in Thread::Queue

This involves a version bump, to 3.05.
enclose warnings.h generation in a block

...to limit the number of variables visible everywhere and
make it a bit easier to see what I am doing as I refactor
regen/warnings.pl
replace printTree with warningsTree

we return, rather than print, the warnings, so we can potentially
futz around with the string and put it where we like without
having to worry about C<select>
merge most of perllexwarn into warnings
turn perllexwarn into a stub
regen/warnings.pl no longer touches perllexwarn
remove references to perllexwarn from warnings.pm
replace links to perllexwarn with links to warnings

or, sometimes, simply remove them
bump the version of warnings.pm

(and of regen/warnings.pl)
warnings.pm: improve awkward sentence in pod
do not podcheck regen/warnings.pl
regenerate warnings.pm
Merge perllexwarn.pod into warnings.pm
Add support for test.valgrind parallel testing

# New Ticket Created by  Matthew Horsfall
# Please include the string:  [perl #121431]
# in the subject line of all future correspondence about this issue.
# <URL: https://rt.perl.org/Ticket/Display.html?id=121431 >

This is a bug report for perl from wolfsage@gmail.com,
generated with the help of perlbug 1.39 running under perl 5.14.2.

-----------------------------------------------------------------
[Please describe your issue here]

The included patch allows test.valgrind to run tests in parallel.

Valgrind output for each test will be printed out after the test
completes, with the name of the test prefixing every line.

Example usage might be:

  TEST_JOBS=8 make test.valgrind VALGRIND='valgrind -q' 2>&1 | tee out.txt

-q is needed to ensure only *errors* are captured, otherwise the output will
be much louder than it already is. (Perhaps this should be the default mode?)

[Please do not change anything below this line]
-----------------------------------------------------------------
mktables: Fix overlooked in-line table defns code

Commit eb0925341cc65ce6ce57503ec0ab97cdad39dc98 introduced the idea of a
pseudo-directory as a way to store table definitions in-line in
Heavy.pl, but conform to the expectations of the code in regard to
objects being files within directories.  This kept the needed changes to
a minimum.  The code changed by the current commit  was overlooked then
as something that also needed to change, because there are no current
instances of it needing to.  But this could change with future Unicode
versions, or as in the next few commits, in extending the in-line
definitions.
utf8_heavy.pl: Change data structure for in-lined definitions

This commit puts the in-lined definitions introduced by
eb0925341cc65ce6ce57503ec0ab97cdad39dc98 into a separate array,
where each element is a unique definition.  This can result in slightly
smaller current memory usage in utf8_heavy.pl, as the strings giving the
file names now only appear once, and what replaces them in the hash
values are strings of digits indices, which are shorter.

But doing this allows us in a later commit to increase the number of
ranges in the tables that get in-lined, without increasing memory usage.

This commit also changes the code that generates the definitions to be
more general, so that it becomes trivial to change things to generate
in-line definitions for tables with more than one range.
mktables: White-space only

This indents code to conform to the new block created in the previous
commit
mktables: Add comments, reorder a gen'd file

This adds some clarifying comments, and reorders Heavy.pl so the array
referred to by two hashes occurs before both hashes in the output.