ENH: Use the same floating point exception checking as umath

Add npy_fenv.h, included by both ufuncs and test_c99complex.c.

Now when compiling npymath_tests.so we correctly don't include
complex.h, necessary so that we can still run those tests even if we
don't have complex support in the compiler.

Movied test_c99complex.c to npymath.
BUG: Fix inf/nan handling in npy_hypot

The C standard says that hypot(+/-inf, y) == inf, even if y is nan.
Since hypot(x, y) == hypot(y, x), the only time that hypot returns nan
is hypot(nan, nan).

This was breaking many of the complex inverse trig functions on windows.