prepare for new parrot-ops2c

with fallback if config{parrot::ops2c} does not exist, < parrot-6.9.0
analog to nqp
fix `Buf.new ~ (Any)` and similar

Using string operations like concat on a Buf (utf8,Blob8,...) and something that is not
a Buf:D failed by eating all your memory. Now we convert the buffer types to strings when
we know how, and fail otherwise.
This is meant to fix RT #122600 and RT #122827.
doc kcachegrind profiling for parrot backend only
doc profiling for MoarVM
perl6 profile help fixes
Merge pull request #329 from stmuk/nom

perl6 profile help fixes
fewer churn for finding DYNAMIC in GLOBAL

used to generate multiple getcurhllsym + getwho
can't seem to get this to not create a lexical, though.
syntactic junctions are cheaper (due to unfolding)
we don't have infix:<|> this early in the setting.

This reverts commit 2254a8016aa23475924901c4d899a9a7ad22fdb5.
Merge pull request #320 from rurban/parrot-ops2c

prepare for new parrot-ops2c
warn about clashing enum aliases, and also poison these aliases

This resolves RT #72696.
do only poison enum aliases for redecls in same block
[Configure] try to be a bit more forthcoming with the ops2c default
bump nqp/parrot rev for a GC fix, rurban++
bump nqp rev and fix more warnings
Fix problem with MAKE-ROOT
unfudge open("rp") on parrot
Fix issues with MAKE-CLEAN-PARTS
fix parsing of s{}="" plus statement mod if

We should not check for old regex modifiers (/i) when we have the assignment form of a substitution.
Fixes RT #123168.
make filemtime more friendly for to-json