allow some trigonometric functions to take complex as input

This fixes bugs in arctan, arcsec, arccsc, where complex numbers as input
would result in an AttributeError
add couple of doctests for complex input
Need to convert to complex only
fix unneeded line number in doctest
add "# rel tol" to the tests
I hope I got the correct rel tol value :-/
set it to 1e-15 as per vbraun advice
Trac #16439: Allow inverse trig functions to all take complex input

Where by complex I mean `complex` Python type.
{{{
sage: arccos(1+2*i)
arccos(2*I + 1)
sage: arccos(CC(1,2))
1.14371774040242 - 1.52857091948100*I
sage: arccos(CDF(1,2))
1.1437177404 - 1.52857091948*I
sage: arccos(complex(1,2))
<snip>
TypeError: Unable to convert x (='(1+2j)') to real number.
}}}
Presumably there are others of this type.  Related:
{{{

sage: arcsec(-0.992725195401)
NaN
sage: arcsec(float(-0.992725195401))
<snip>
    732         if parent is float:
    733             return math.acos(1/x)
--> 734         return (1/x).arccos()
    735
    736     def _eval_numpy_(self, x):

AttributeError: 'complex' object has no attribute 'arccos'
}}}
but this may or may not be dealt with at #13246.

URL: http://trac.sagemath.org/16439
Reported by: kcrisman
Ticket author(s): Punarbasu Purkayastha
Reviewer(s): Karl-Dieter Crisman, Ralf Stephan