Quantifier follows nothing in regex

This changes the code so that any '?' immediately (subject to /x rules)
following a {0} quantifier is absorbed immediately as part of that
quantifier.  This allows the optimization to NOTHING to work for
non-greedy matches.

Thanks to Yves Orton for doing most of the leg work on this
pod/perldelta: Add note about documenting toLOWER() etc
perldelta: ">" was missing its "C<"
perldelta: typo
prevent lib/File/stat.t from aborting at END on cygwin

cygwin appears to be unique in that it uses fast_abs_path() for
abs_path() and vaguely follows POSIX semantics on directory permissions.

Previously the tempdir created would be chmod() to 0600 (non-executable)
and fast_abs_path() would croak when it couldn't chdir into the
directory.
Test that C<format 'Foo> is identical to C<format Foo>

When declaring a format, using a leading package separator requires careful
handling in the parser, to avoid confusion with a subroutine of the same
name.
Test that C<format ::Foo> is identical to C<format Foo>

This wasn't being explicitly tested.
Eliminate the last call to S_force_word() passing allow_initial_tick as TRUE.

Turns out that that final place using the allow_tick hack could get a tick,
because it was using the original buffer, rather than the already processed
identifier from scan_word.
toke.c: Remove the allow_initial_tick hack from S_force_word.

Over the years, every caller which used this hack had it progressively
turned off. Prior to this commit, only one call remained, which
ostensibly handled this case:

format 'STDOUT = ...

However, turns out that even there it was superflous, since a scan_word
a dozen lines before will've already turned all ticks into double
colons.
Inline a subset of S_force_word() into the KEY_format section of Perl_yylex().

In code handling formats, Perl_yylex() calls S_force_word() at a point where
it has already done half the work that S_force_word() does. The validation
Perl_yylex() has already passed, along with the normalisation performed by
S_scan_word() mean that all it actually needs from S_force_word() is the
token forcing. Inlining these lines decouples the code.
Merge the refactoring of toke.c's S_force_word.

The C level changes are invisible to anything outside of toke.c.
Nothing should notice this change.
updates to release schedule

...still needs more updating and scheduling
Remove magic literal constant in favor of named constant

For clarity only
Branch prediction hint for SvREFCNT_dec

When decrementing the refcount on an SV, we have to branch on whether or
not we've reached a refcount of 0. But a quick instrumentation shows
that in virtually any program small or large, the number of decrements
without freeing greatly outweighs the number of decrements that cause a
free. Therefore, it's a net win to suggest to the compiler to emit a
branch prediction hint to go into the just-decrement branch.
perldelta: Correct misstatement

I forgot that two of the case changing functions were already documented;
so the change in 5.19.1 is to add documentation for more.
Make %Module::CoreList::deprecated a delta hash

This hash tracks core module deprecations, which becomes very
verbose if listing out the deprecated modules for every perl
version. Instead, we can track the delta for each release,
using Module::CoreList::TieHashDelta to inflate as needed.

The depcrecated hash matches the current data in blead, which
might not be correct.

Fixes #118215: https://rt.perl.org/rt3//Public/Bug/Display.html?id=118215
re-add the deprecation data for soundex and checktree
Module::CoreList: changelog for delta %deprecated
add Mike Doherty to the AUTHORS file
make Porting/corelist.pl emit delta-style %deprecated