De-emphasise switch-related keywords in perlfunc.

Move the 3 non-function keywords into the summary cross reference section
at the end of perlfunc. Eliminate the examples which duplicate examples in
perlsyn. Merge the remaining 2 keywords into the "control flow" group.
Note that the switch feature is considered experimental.

With these changes, `perldoc -f default`, `perldoc -f given` and
`perldoc -f when` will still return a helpful result, and as before will
refer the reader to perlsyn for full information.
In perlfunc, don't have functions in "Misc" and a second category.

dump, eval, evalbytes and wantarray are now only in "flow control".
local, my, our and state are only in "scoping".
prototype is now only in "misc". Whilst *prototypes* affect parsing, and
hence indirectly flow control, the prototype function is for introspecting
prototypes.
Remove all the never used parameters from the macro validate_suid()

Several parameters are unused in either remaining variant of the
validate_suid() macro. The two variants which used the extra parameters
were removed with suidperl by commit cc69b689ee7c2745 in Jan 2009.
In S_parse_body(), don't "leak" linestr_sv until global destruction.

This commit ensures that linestr_sv is properly cleaned up, if allocated.

The local variable linestr_sv was added by commit 009d90df4e17a415 in 2007,
to replace use of PL_linestr in S_parse_body(). However, that commit didn't
add any code to free linestr_sv at the end of S_parse_body(), meaning that
the SV sticks around until global destruction.

Subsequent code simplification possible by the removal of suidperl reveals
that linestr_sv is only needed for the '-x' option, so it's safe to avoid
allocating it up front. Additionally, during '-x' processing, Perl_sv_gets()
will upgrade the target SV to SVt_PV and allocate the string buffer as needed,
so there's no need to pre-upgrade or pre-allocate the SV in S_parse_body().
This slightly reduces the amount of code.
Update CPANPLUS to CPAN version 0.9121

This resolves a regression introduced with v0.9109
which was included with perl version v5.15.2 and is
therefore a regression since v5.14.x

  [DELTA]

  Changes for 0.9121      Sat Mar 17 23:23:42 2012
  ================================================
  * Resolved a regression with dev '_' version
    numbers since 0.9109
First shot at perl5159delta.pod
Attempt to find an author if (s)he comes via RT.

In the case of commits, it maybe that the reporter used RT, which results
in a generic RT email address. Instead of just reporting the author as '!',
we'll do an attempt to see whether he's named in the AUTHORS file.
Paste in the output of Porting/acknowledgements.pl in pod/perl5159delta.pod
Revert "Paste in the output of Porting/acknowledgements.pl in pod/perl5159delta.pod"

This reverts commit 98f0737d71a92167bf1aace8a8d8411b985e3200.

Until I can figure out how to add a new perldelta and make all tests pass.
Revert "First shot at perl5159delta.pod"

This reverts commit 21ffc8459b739cc13a32f22a2edb7be485a062e0.

Until I can figure out how to add a new perldelta and make all tests pass.
Fix a cut-and-paste error
Some backslashes turn out not to be always there.
Add a --tarball option

This allows to do the cpan/ upgrade without having to contact CPAN.
For instance, from dromedary, it seems to be impossible to fetch
files from CPAN. With the --tarball option, you can pass the location
of the tarball, and this will used instead of fetching it automatically
from CPAN.
Update Pod::Perldoc to version 3.17
Retry first shot at perldelta.pod.

Documents the differences between 5.15.8 and 5.15.9.
Note in perldelta that C<no feature;> now means reset to default.

The behaviour was changed with commit 39ec54a59ce332fc.
In deparse.t, rename %reason to %meta.

Whilst skip and todo both have "reason"s, subsequent refactoring will use it
for other purposes.
Add a 'context' feature to deparse.t, to better test ambient pragmas.

Call ambient_pragmas() before each deparse test. This will allow use to remove
the constraints of the current default, which is to always run under
use feature ":5.10";
Avoid deparse.t testing everything under use feature ':5.10'

Only use feature ':5.10' in those tests that actually need it. This will let
us add tests for deparsing without any features enabled.
Add tests for deparsing C<say> under various combinations of pragmas.

These mostly codify the current output of B::Deparse, which is not invalid,
but might not be considered to be the optimal output. (It's defensive, in
that it uses C<no feature;> which will ensure consistent behaviour whatever
pragma context the output is evaluated in.)

Some are TODO for the cases where B::Deparse is wrongly outputting
C<CORE::say> instead of plain C<say> and C<CORE::__SUB__> instead of plain
C<__SUB__>.