ENH: evaluate c99 complex funcs at build time

For all of the C99 complex function excepting the creal, cimag, cabs and
carg (which are either trivial or defined by a C89 function) we now run
a set of build time tests to evaluate if we want to use the system
version of these functions or our own.  These tests involve all of the
special values for these functions defined in Annxex G of the C99
standard as well as any tests that were existing in the numpy test
suite. These tests do not consider the sign of NAN.