Use grok_infnan() if NV_INF and NV_NAN are defined.

The native strtod() is still the fallback.

The send was one too short, but it was only used in one code path,
obviously not tested.

Also really allow the trailing weirdnesses for nan (like "nanq").
Unify inf/nan printf output to Inf, -Inf, and NaN.

(Bypassing the native strtod.)
Unify the Inf/-Inf/NaN also in basic NV stringify.
Add inf/nan tests.

Try to skip robustly if no such values exist.
Clean up the fpclass forest.
Perl_isinf and Perl_isfinite enhancements.
Introduce Perl_strtod (macro) to call strtold if long doubles.

Not that much effect since strtod is now only used to parse inf/nan
and then only if NV_INF + NV_NAN are missing.  (Earlier strtod()
returned always the double inf/nan, not the long double inf/nan.)
Implement POSIX::strtold().

Defined of course only with long doubles.
Add some basic math tests.

Inspired by [perl #122571] where exp() and sin() were broken
in AIX with long doubles.