build: GCC=1, win image-version=0,1, rm RDLLFLAGS

more buildsystem fixes: on win32 set -Wl,--major-image-version,0,--minor-image-version,1
on darwin replace unused RDLLFLAGS with LDDLLFLAGS
set GCC and ICC config.inc values
win32: dllexport _Init, move away libpotion.a

This fixes loading extensions, and the user32.dll dynamic relocation issues.
The win32 GC still persists.
win32: early load -luv on win32

on win32 dynamic relocation of system dlls is tricky and unstable, when loading
aio.dll and sometimes buffile.dll it failed to relocate user32.dll.
also add the length arg for a potion_mmap fail (win32 only)
test/runtests.sh: make target cmd
32bit x86 jit: tag x86_test_asm jmps, fix X86_CMP

X86_CMP had a wrong overflow calculation.
document all sizes, use at&t syntax in comments
fix example/nbody.pn n<1 because 0 is true (still fails with i386 jit)
darwin i386 jit fails with wrong stack alignment. (ignore problem for now)
GC: #50 fail with Out of memory when mmap fails

when pngc_page_new returns NULL, do not continue, corrupt P->mem and cause SEGVs anymore.
Inside a GC just return and try to continue.
Outside the GC fail with "Out of memory" or "Not enough memory" in boot
This can be reproduced on small 32bit systems (2GB RAM) with the gcbench
and binarytree examples.

On Windows VirtualAlloc(NULL) sometimes fails with Illegal System DLL Relocation
when it internally tries a reserved address (too low). So on Windows try again at
the very last allocatable address: SystemInfo.lpMaximumApplicationAddress - AllocationGranularity (64kb)
contrib 32bit non-windows: fixup size_t != long
jit: fix getlocal,setlocal jumps with lots regs overflow

with >15 locals the previously added getlocal,setlocal jumps had the wrong target
and therefore the offset calc. was wrong.
add more jit docs.
nbody n=50000 works now.