Add C90 labs() instead of abs(), our INTVAL is long

A 32-bit MSVC smoke would be nice.
[core] part 2 of labs GH #1111

only use labs() on 64-bit.
also use it with Integer.absolute
Merge branch 'smoke-me/labs-gh1111'
[pmc] simplify more mark methods

get the data once, and access the fields directly.
shorter and more cache friendly
[gc] add missing PackFileView to continuation.mark

also simplify the code a bit
[pmc] add Coroutine.mark with caller_seg

Coroutine.mark was just calling Sub.mark and missed to mark
the caller_seg. Do it now properly with inheritance.
Note that this does not fix GH #1109, which is a Coro in a wrong gen
[cage] unconst IO_VTABLE * vtables, -Wcast-qual cannot be suppressed

see e.g. https://stackoverflow.com/questions/13249756/explicit-ignore-warning-from-wcast-qual-cast-discards-attribute-const#comment38552597_13253997

2 remaining -Wcast-qual warnings for legacy API.
[test gc] add real gc stress tests #1108

stress test all GCs, under tight memory --gc-nursery-size=0.0001
and additional --gc-debug runs, with additonal StringBuilder stress via -t
and check the exit codes.
Properly fix SIGNAL detection and error output in Parrot::Test for exit_code_is.
Fails 14/20 tests.

t/harness: add existing TEST_PROG_ARGS to tests single tests, e.g.
  ulimit -Sv 60000
  TEST_PROG_ARGS='--gc-nursery-size=0.05 ' perl t/harness --gc-debug t/pmc/*.t
[config] improve auto::inline, uninitialized $test

and better --verbose return value
[gc] initialize more stack-allocated ptrs

see GH #1067.
initialize more values on the C-stack to help the GC.
also change some mem_internal_* to mem_sys_*
mem_internal_* are only macros to mem_sys now.

testcase:
  valgrind --track-origins=yes ./parrot_old examples/benchmarks/dispatch.pir

There's still a remaining stack-object scanned,
int offset from runops(src/call/ops.c),
which can only be fixed with a precise GC.
[core] initialize stackvars in Parrot_ext_call

we do not have a precise GC yet
[test] improve gc stress test

use pir not pasm,
print cmdline when failing
ChangeLog for smoke-me/valgrind-stack-gh1067
unify platform encoding.c, support all

Closes GH #1120.
Get support for other platform encodings for free.
cygwin: update pcre

The dllname and the test for cygwin only.
comment in Parrot_runcore_switch

with unsynced .str the exceptions will cycle.
But it is advertized as throwing, not panicing.
[gc] decruft -DMEMORY_DEBUG and DETAIL_MEMORY_DEBUG, add -D100

Check -D100 instead of DETAIL_MEMORY_DEBUG when -DMEMORY_DEBUG is enabled.
This way we can run -D101 and -D1 to get verbose and non-verbose GC tracings.

Add new MEMORY_DEBUG_DETAIL_2 macro for fprintf helpers all over.
Move common panic_failed_allocation into gc_private.h, maybe the other
common gc memory funcs also to save space.
Print avail sysmem on startup with -D1.
GH #1108
[core] enable Interp_debug_TEST and flags with flag combinations

Now you can check for multiple flags, e.g.
if (Interp_debug_TEST(interp,
       PARROT_MEM_STAT_DEBUG_FLAG | PARROT_GC_DETAIL_DEBUG_FLAG))
Was used only for single flags, so no changes for existing code.
Document the single flag limitation for the left-over trace_flags test.
There's no -t flag combination, like verbose yet.
[gc] check -D1 in startup, add -D2xx MEM_DETAIL_DEBUG_FLAG

Print GS and Memory info on -D1.
Add seperate GC_DEBUG_DETAIL_2 tracer to seperate it from
MEM_DETAIL_DEBUG_FLAG tracing for every single alloc/free.
Document the two new -D100 and -D200 flags with --ccflags=-DMEMORY_DEBUG
[gc] Better -D1 printout. ChangeLog #1108

$ ulimit -Sv 640
$ ./parrot -D1
Free Memory: 8589934592
Memory via rlimit restricted to: 655360
GC nursery size: 2.0%
GMS GC threshold: 13107