regcomp.c: struct scan_frame: rename members for clarity

Rename some members of scan_frame so it is easier to understand what
they are for, in preparation for adding some more members.
regcomp.c: reuse temporary debugging temp sv's

For dumping regex debug state we need some temporary SV's on hand
to pass into regprop() which writes into an SV to do it's thing.
Allocating a new mortal SV every time we want to do this is very
wasteful, and manifests as a "leak" in very long compiles such as
when debugging issues like RT #122283.

By storing the SV's in RExC_state_t we can reuse them during the
compilation process and avoid leaking memory for nothing.
regcomp.c: eliminate memory leak from GOSUB/GOSTART regops

We can reuse previously allocated frames and avoid blowing
up memory during regex compile of complex recursive patterns.

A pattern like that reported in RT #122283 would chew up all
avaiable memory allocating new frames each time it recursed.
regcomp.c: study_chunk(): whitespace fixup for legibility
regcomp.c: study_chunk(): improve branch-branch comment
regcomp.c: Improve re debug output by showing buffer names if they exist

Requires adding a new optional argument to regprop as we do not
have a completed regexp object to give us the names, and we need
to get it from RExC_state.
regcomp.c: Fixup debug output so it matches other messages in context
dump.c: Add PERL_PV_PRETTY_EXACTSIZE option

Sometimes we want things to fit exactly into a specific number
of chars, elipses, quotes and all. Includes make regen update
to make dsv argument nullok.
regcomp.c: Improve advanced re debug output

use pv_pretty(), add better flags information, and a more compact
recurse bitmap frame outpute, etc.
regcomp.c: study_chunk(): Reset the entire data struct, not just a bit of it.
regcomp.c: Add comment.
regcomp.c: study_chunk(): Avoid unnecessary recursion.

Avoid unnecessary recursion with regex subroutines. When we are inside
of a DEFINE we do not need to, and should not, recurse. And once an
infinite construct has been seen and we are not tracking the start
class then we do not /need/ to, at the cost of possibly pessimizing
minlen checks. For instance in

 /(?(DEFINE)(?<p>foo|wozzit))a+(?&p)/

entering 'p' via recursion would only tell us that the minlen was
actually 4 instead of being 1, something that would not make us
match incorrectly. This can be improved in a later commit.

The side effect of not recursing in such situations is that large
patterns such as that in RT #122283 compile in a reasonable amount
of time.