ENH: Import the catanh/catan implemenation from FreeBSD

The code from FreeBSD was lightly adapted to fit with the numpy style.

An incorrect test for the branch cuts of both arctanh and arctan was
corrected in both test_umath.py and test_c99complex.c.

With this commit, npy_catanh(f) and npy_catan(f) pass all of the tests
in test_c99complex.c.