make it so that run time patterns can trigger SKIPWHITE/WHITE

This probably neutralizes RT #94490.

Prior to this patch the special RXf_SKIPWHITE behavior of

    split(" ", $thing)

was only available if Perl could resolve the first argument to
split at compile time, meaning under various arcane situations.

This manifested as oddities like

    my $delim = $cond ? " " : qr/\s+/;
    split $delim, $string;

and

    split $cond ? " ", qr/\s+/, $string

not behaving the same as:

    ($cond ? split(" ", $string) : split(/\s+/, $string))

which isn't very convenient.

This patch changes this by adding a new flag to the op_pmflags,
PMf_SPLIT which enabled pp_regcomp() to know whether it was called
as part of split, which would allow the RXf_SPLIT to be passed into
the run time compilation. We could use optree inspection for this instead,
but a follow up patch will reoganize things so that the extra flags
works with stuff we already have to do.

Working on this revealed a secondary issue: when we check if we need to
recompile a pattern in pp_regcomp() we did not check the flags to see
if they are the same. So doing something like this:

    split $x ? " " : qr/ /, $string;

repeatedly would never exhibit the " " behavior once the qr/ / behavior
was exhibited, as the two patterns would have the same pattern and
length, despite having different flags. I added a flag test to the cache
logic, but I doubt it is sufficient: flags get turned on as we compile,
and even maybe turned off, so a simple comparison doesnt really work.
For now we ensure that expected extflags are all on in the cached
regex. I'm not sure what to do about this other than store the original
extflags in the regex (in addition to the actual extflags).

It is possible that this problem affects other cases where we have
flags that affect compilation that are not part of the compiled pattern.

Which makes me think what we really need is a magic pattern (*SKIPWHITE)
which acts like \s+ but triggers the SKIPWHITE behavior (split ' ') from
a regexp. If we pretended we compiled a (*SKIPWHITE) then we would be
able to tell the branches apart in split $x ? " " : qr/ / by comparing
the pattern alone. (Something like that).
simplify some of the logic related to the new PMf_SPLIT flags by reorganizing bits