Implements Kahan's versions of elementary complex functions…

…paying particular attention to behavior near branch cuts.

Functions: sqrt, ^, log, asin, acos, atan, tanh, asinh, acosh, atanh
Includes also the ssqs to compute the mod-squared of a complex number scaled by a power of 2 to avoid overflow/underflow
Issues
- The ^ function fails tests so is disabled for now.
- The log function works only for `Complex{FloatingPoint}`. Explicitly casting `{T<:Integer}Complex{T}` to floating-point `Complex` causes tests to fail.

Ref: [Branch cuts for complex elementary functions](http://people.freebsd.org/~das/kahan86branch.pdf)
Correctly detects for both underflow and overflow in ssqs
Fixes type error in log
Corrects underflow check
Adds edge cases for all except atanh, atan
Reorders tests
Merge branch 'master' of github.com:JuliaLang/julia into jh/kahan-complex

Conflicts:
	base/complex.jl
complex function improvements; make test-complex pass
formatting fixes
Merge branch 'master' of github.com:JuliaLang/julia into jh/kahan-complex
Add Julia functions based on CSparse C code
Move functions based on CSparse to base/jlsparse.jl
doc: Use theme and extensions from JuliaDoc
improve html doc layout on mobile devices
doc/pdf: remove python module index
More efficient sizeof() for complex types

Remarkably, this was originally the main bottleneck in the
cache-friendly transpose algorithm for small complex matrices.
Cache-friendly transpose algorithm
doc: fix templating and restore listpkg
doc: put sidebarintro back

The links are specific to the main doc, so this really does belong here. Also
move the translation links here.
doc: put TOC depth back to 1
doc: flip some generation settings off
doc: clear up some warnings from Sphinx
doc: update Makefile and README