Rewrite native_pbc number converters and fix format errors

Fix wrong layout of intel 80-bit long double, it is 10-byte + 2/6 byte padding
in i386 resp. x86_64/itanium. Renamed to FLOATTYPE_10.
Older pbc contain a wrong floattype=2 for this format.
It only depends on the word size: on 32bit padded to 12 byte, on 64 to 16byte.
Fixed the header writer logic accordingly.

Add single float support FLOATTYPE_4.

Add detection of yet unsupported special ppc, mips and aix variants
and the official IEEE-754 __float128 (quad double) format, which only
Sparc64 supports.

Simplify endianizers on number converters to reduce complexity.
Use native byteswap.h if detected (not yet).
New and better number.pasm values.
pre-calculate FLOATTYPE

FLOATTYPE is cpu dependent for long double. Better do that
in a config step, not at run-time.
Improve __float128 support.

Conflicts:
	t/native_pbc/number_4_12_le.pbc
	t/native_pbc/number_8_16_le.pbc
	t/native_pbc/number_8_8_le.pbc
remove instable number

on 32-bit the highest number is printed differently
rewrite tools/dev/mk_native_pbc

Support all possible floattypes, simplify logic
Remove bashism

Conflicts:
	tools/dev/mk_native_pbc
native_pbc: float 4 fixes, mk_native_pbc

floattype_4 needs some prev. undefined helpers
improve mk_native_pbc
regenerate 32-bit le pbc's

Conflicts:
	t/native_pbc/integer_4_be.pbc
	t/native_pbc/number_4_16_be.pbc
	t/native_pbc/number_4_8_be.pbc
	t/native_pbc/string_4_be.pbc
	t/native_pbc/string_4_le.pbc
	tools/dev/mk_native_pbc
adjust number.t to new floattypes, do not use %Qg
native_pbc: update 8_le
fix mk_native_pbc syntax error
t/native_pbc/number_4_4_le.pbc added
add native include/parrot/bswap.h and probe

probe for endian.h, byteswap.h or OSX header for
native bswap inline functions/macros.
add HAS_FLOAT128 in config hash

__float128 is binary compatible to 16-bit big-endian sparc/s390
long double formats. Available since gcc 4.6
Fix and improve bswap.h

Add missing libkern/OSByteOrder.h
Abstract macros into static inline functions
Use fast replacement macros
Use bswap in pf_items.c
Fix byteswap.h and 64bit fallback macro

Forgot to define bswap macros with GNU byteswap.h
Fixed bswap_64 fallback.
fix and optimize bswap

Also allow FLOATTYPE_16PPC, but this format seems to be double-double, not __float128
Fix nvsize in config/auto/format.pm, number_4*_be pbcs

nvsize should be the same as numvalsize, probed in auto::sizes,
but not one of floatvalsize, doublevalsize or hugefloatvalsize.
E.g. with long double used and __float128 possible hugefloatvalsize
is 16

Add generated ppc pbcs
Add ppc converters, add PF_floattype_names

Added and document converters, ppc needs intermediate helpers.
The ppc long double is the sum of two doubles stored one
after the other: double-double.
t/native_pbc/number_4_10_le.pbc added
More converter fixes

Some ptr and logical errors.
such as use __float128 FLOATVAL for 16-byte nums, not long double.

Update some non-numeric pbcs

TODO: rounding
no unneeded numval transforms
pbc_dump -h: print floattype and floatsize