Inline Devel::Peek::Dump; allow Dump %hash etc.

This commit makes Devel::Peek::Dump modify the op tree to allow it to
dump arrays and hashes directly via Dump @array and Dump %hash.  It
also puts other operators in rvalue context, allowing the return value
of rvalue substr for instance to be dumped, making Devel::Peek more
useful as a debugging tool.

Since a future commit (to fix the rest of #78194) is likely to make
pp_entersub copy PADTMPs (operator return values) for XSUBs (it
already happens for Perl subs as of b479c9f2a), to the detriment of
Devel::Peek’s usefulness, I also made it inline Dump as a custom op.

This does introduce a backward-incompatible change, in that both argu-
ments to Dump are now in scalar context, and the number of arguments
is checked at compile time instead of run time (still run time for
&Dump(...)), but I think it is worth it.
Update Devel::Peek docs with Dump changes

Boy, does this whole document need a rewrite....
perldelta for Devel::Peek::Dump changes
Describe ext/XS-APItest/t/call.t better
Copy PADTMPS passed to XSUBs

This resolves the last remaining issue in ticket #78194, that
newRV is supposedly buggy because it doesn’t copy its referent.
The full implications of the PADTMP are not explained anywhere in
the API docs, and even XSUBs shouldn’t have to worry about special
handling.  (E.g., what if they do SvREFCNT_dec(SvRV(sv)); SvRV(sv)=...?)

So the real solution here is not to let XSUBs see them.
Correct perlguts docs about PADMY & PADTMP