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
Add Broadcast module with staged broadcast operations
Add broadcast! function. Make broadcast(f) and broadcast!(f) do function wrapping.
Provide broadcast_function separate from broadcast, make broadcast(f) = f()

Also provide separate broadcast!_function
Merge branch 'master' of github.com:JuliaLang/julia into jh/kahan-complex

Conflicts:
	base/complex.jl
Make broadcast.jl work with StridedArray arguments. Add some gensyms.
complex function improvements; make test-complex pass
formatting fixes
Merge branch 'master' of github.com:JuliaLang/julia into jh/kahan-complex
Merge pull request #3155 from stevengj/master

^(x::Number,y::Rational) should promote y to the correct type
Update build files to create a mac app bundle.
OpenBLAS is crashing with more than one thread on the mac distribution build.
Force it to use one thread for now in the mac app bundle.
Merge branch 'master' of github.com:JuliaLang/julia
Update platypus file for the mac app bundle
Add Julia functions based on CSparse C code
error for using Ptr in ccall, and doc update. fixes #3154
Add broadcast operations to docs, update getindex and setindex! docs slightly.

Also add broadcast.jl to test/Makefile.
fix #3148, SubArray indexing with floats
also add float indexing for Ranges