Avoid using function pointers for math functions.

Otherwise AIX with long double has issues, see perl #122571.  AIX has
some rather intricate arrangement of symbols and macros.  Also, it is
okay to use two switches instead of just one.
Do not test sin/cos at [+-]pi, either.

With AIX and long doubles you may not get exactly the approximation
of pi you were thinking of.  "This is not the pi you are looking for".
S_infnan_copy needs at most 5 bytes of output size.
Wrong result for double-double sqrt(2).
The fp classification is a royal mess.

Try avoiding false detections by guarding against an interface falsely
matching a set of return values.  This can still go wrong if <math.h>
declares several sets.  Would really need an array of Configure tests.
Detect HAS_AIX_POWL_NEG_BASE_BUG in hints/aix.sh
AIX: if long doubles do not mix with infinity, disable long doubles.
sqrt() disappeared in OSX, assuming it became pow().

Use exp() instead, less likely to disappear.  Yes, handwaving.
Couple more infnan tests.
=for apidoc wrong api