[perl #107366] Allow attributes to set :lvalue on defined sub

This provides enough rope for those who want to hang themselves, and
also for those who know how to use the rope without hanging them-
selves. :-)

Since this is not generally a reliable thing to be doing, a warning is emitted whenever :lvalue is turned on or off on a defined subroutine.

But attributes.pm will flip the flag anyway.  :lvalue in a sub declar-
ation still refuses to modify a defined Perl sub, as before.
attributes.pm: Add caveat about lvalue subs
attributes.pm: Consistent spaces after dots in pod
Added Dave Rolsky and Max Maischein to the KEEPERS OF THE PUMPKIN.
update release schedule for next releasers
add "get rt.perl permissions" to RMG
Sync Module-CoreList version in Maintainers.pl with CPAN
make test.pl show test number and name in failure diagnostics output

The old output would show only the line number as diagnostics
but not the test number, nor the test name, which often contains
very useful information. This patch makes sure this is visible in
the diagnostics output of test failures.
rework how the trie logic handles the newer EXACT nodetypes

This cleans up and simplifies and extends how the trie
logic interacts with the new node types. This change ultimately
makes the EXACTFU, EXACTFU_SS, EXACTFU_NO_TRIE (renamed to
EXACTFU_TRICKYFOLD) work properly with the trie engine regardless
of whether the string is utf8 or latin1.

This patch depends on the following:

    EXACT              => utf8 or "binary" text

    EXACTFU            => either pre-folded utf8, or latin1 that has to be folded as though it was utf8
    EXACTFU_SS         => special case of EXACTFU to handle \xDF/ss (affects latin1 treatment)
    EXACTFU_TRICKYFOLD => special case of EXACTFU to handle tricky non-latin1 fold rules

    EXACTF             => "old style fold logic" untriable nodetype
    EXACTFA            => (currently) untriable nodetype
    EXACTFL            => (currently) untriable nodetype

See the comments in regcomp.sym for these fold types.

This patch involves a number of distinct, but related parts. Starting
from compilation:

* Simplify how we detect a triable sequence given the new nodetypes,
  this also probably fixed some "bugs" in how we detected certain
  sequences, like /||foo|bar/.

* Simplify how we read EXACTFU nodes under utf8 by removing the now
  redundant folding logic (EXACTFU nodes under utf8 are prefolded).
  Also extend this logic to handle latin1 patterns properly (in
  conjunction with  other changes)

* Part of the problems associated with EXACTFU_SS and EXACTFU_TRICKYFOLD
  have to do with how the trie logic interacts with the minlen logic.
  This change handles both by pessimising the minlen when encounting
  these nodetypes. One observation is that the minlen logic is basically
  broken, and works only because it conflates bytes and codepoints in
  such a way that we more or less always get a value small enough that things work out
  anyway. Fixing that is properly is the job of another patch.

* Part of the problem of doing folding under unicode rules is that
  there are a lot of foldings possible, some with strange rules. This
  means that the bitmap logic does not work correctly in all cases,
  as we currently do not have any way to populate it properly.
  So this patch disables the bitmap entirely when folding is involved
  until that is fixed.

The end result of this is: we can TRIE/AHOCORASICK any sequence of
EXACT, or EXACTFU (ish) nodes, regardless of utf8 or not, but we disable
the bitmap when folding.

A note for follow up relating to this patch is that the way EXACTFU_XXX
nodes are currently dealt with we wont build the "maximal" trie because
of their presence, instead creating a "jumptrie" consisting of either a
leading EXACTFU node followed by a EXACTFU_XXX node, or vice versa. We
should eventually address that.
regcomp.sym: Fix out-dated description

As a result of commit fab2782b37b5570d7f8f8065fd7d18621117ed49
the description is no longer valid.  This node type is trieable.
TODO Failing tests for warnings in utf8 subcategories
Grammar and clarity fixes for exists() in pod/perlfunc.pod

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

See subject for suitable commit message
fix documentation for exec's warning behavior

This should self-consistently and correctly identify when exec
will warn.

[ commit message rewritten by rjbs ]
replace bogus non-ASCII dashlike char with -

This was presumably brought in when I foolishly copied and pasted
the output from a version of groff that was over-eager to promote
"ugly" ASCII characters to "beautiful" non-ASCII ones.
clarify that Apr 1 is not a hard RC0 date
fix slowdown in nested hash freeing

Commit 104d7b69 made sv_clear free hashes iteratively rather than recursively;
however, my code didn't record the current hash index when freeing a
nested hash, which made the code go quadratic when freeing a large hash
with inner hashes, e.g.:

    my $r; $r->{$_} = { a => 1 } for 1..10_0000;

This was noticeable on such things as CPAN.pm being very slow to exit.

This commit fixes this by squirrelling away the old hash index in the
now-unused SvMAGIC field of the hash being freed.
omnibus perl5160delta editing mess

Omnibus not because it does all the editing, but because I did it
while riding the bus.

The preliminary editing is about 10% done.  Once things are better
pruned and in their place, I will go through to edit the prose.
another bus ride worth of collected delta editing
begin filling the 5.16.0 delta from 5.15.8

This is largely a copy and paste job.
perllexwarn: Fix typos