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
Make broadcast.jl work with StridedArray arguments. Add some gensyms.
^(x,y::Rational) should promote y to correct type relative to typeof(x) rather than always promoting to Float64
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
fix #3159, constructing type with Ptr member
pkg2: make "REQUIRE" the default argument to parse_requires.
pkg2: allow fixed version discovery handle unknown SHA1s smoothly.
pkg2: add .julia directory finding and creation.

I'm not sure that we still want .julia to always be a git repo now,
but for the time being, it's easiest to just steal code from Pkg 1.
In any case, the business of prompting users for their GitHub info
is a complete annoyance and has to go. We should probably get rid
or that in the current Pkg, but I'm loathe to change anything there.
Merge branch 'master' of github.com:JuliaLang/julia
pkg2: emit a warning when unrecognized commits are encounted.

If this is happening during normal operation, we probably want to
hear about it and investigate what's going on.