[config] improve cputype detection

set proper amd64 on darwin with Intel Core cpu.
fix the _parse_cpuinfo() call in auto::arch
honor simple -m64/-m32 with x86
[codingstd] hard tabs in config/auto/arch.pm
[config] Provide icu_version config value, GH #867

icu4.4 ships with an -Werror=strict-prototypes incompatible
header file. Currently we disable this warning for  src/string/encoding/shared.c
but we should rather check which icu versions ships this header, and change the
Configure logic (and order) to strip -Werror=strict-prototypes only with a bad icu_version
[config] Check icu_version for wrong uset_openEmpty() GH #867

Move step auto::warnings downwards after all probes.
See source/common/unicode/uset.h in icu.
For -Werror=strict-prototypes in src/string/encoding/shared.c.
https://ssl.icu-project.org/repos/icu/icu/tags/release-49-1/source/common/unicode/uset.h

This was broken from icu 42 until 49, fixed with 50.1
Merge branch 'smoke-me/icu_version-gh867'
[core] export Parrot_longopt_get, GH #1121

be consistent in our exported names
[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
[gc] add trace_pmc_flags_dump

and use it within trace_pmc_dump and #1108, coro in wrong gen
[cage] fixup 2 test errors with pmc flags
[gc] dont stress the GC when tracing the GC

printf directly to stderr in trace_pmc_flags_dump, when not in the debugger
[gc] protect pcc_reuse_continuation from empty data

check for uninitialized continuation->data and allocate fresh then also.
simplify code a bit.
[gc] check empty work_list, optimize gc_gms for -UMEMORY_DEBUG

do not call dummy functions in the common case during GC.

for -DMEMORY_DEBUG only:
protect from empty work_list in check_sanity, which can
occur after the GC was already unblocked.
[gc] new uintval_fmt for size_t printf

memsize is unsigned for >2GB, and we need to print it properly.
otherwise it will print a negative number >4GB in i386
[gc] WIP more GC_DEBUG_DETAIL macros, allow wrong Coros

observe illegal Coros during the GC, Object from wrong generation.

Inline gc_gms_seal_object and gc_gms_unseal_object. They are hot.
trace: shorten the pmc flags and comma->space

fix t/dynoplibs/debug.t:
  %p on cygwin/newlib has no 0x
[config] add SIZE_FMT to headers

needed to print size_t args, which is different to INTVAL_FMT on 32-bit.
Probing for printf %zd would be better.
trace: add -t10 PARROT_TRACE_OPS_PMC_FLAG

To print the PMC flags with -t1 use now -t11.