[config] Extend auto::infnan probe to other --floatval #1146

also check the real output for isnan and isinf.
maybe we should also check for NAN != NAN
[GH# 828] Avoid passsing non-double through va_list

va_list does not support float, long double nor __float128 on most systems.
Promote FLOATVAL to double to avoid that.
[GH #828] Fix most tests for non-double floatval

Add more needed precisions to numeric tests, tested with intel long double.

Change a magic number in t/library/test_more.t 888.81<=>888.82 1e-2
  was not stable enough for intel long double

Use t/pmc/testlib/annotations.pbc for binary comparisons of packfiles since
  stringifying non-double numbers is not stable enough.

Fix src/dynoplibs/sys.ops doublesize to numvalsize. This only works for double.
[GH #828] Optimize print_n/i and say_n/i

print_n/nc/i/ic and the say variants go through a full Parrot_io_printf with
3 va_start/va_end scenarios and a custom format string parser,
and through char* -> STRING->char* conversion until the fixed
FLOATVAL_FMT or INTVAL_FMT printf is done.
Just to print a single int or number.

This also lost precision for non-double floatval's - if cast to (double).
Now avoided.
[GH #828] Probe if double is needed for va_arg or if native floatval does fine

Set new feature.h PARROT_VA_PTR_FLOATVAL to double or the given floatval,
and use it in src/call/args.c

Print "stack|register (double)" in Configure va_arg result if a cast is
required and precision is lost.

Still some va_arg casts missing, multidispatch.t and nci.t fail.
[GH #828] Use more va_arg PARROT_VA_PTR_FLOATVAL
[cage] ident #define properly
use PARROT_VA_PTR_FLOATVAL in float.pmc