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.
Add broadcast operations to docs, update getindex and setindex! docs slightly.

Also add broadcast.jl to test/Makefile.
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.
Fixes #3133 : print unexported types also
Merge pull request #3162 from tanmaykm/typetree

Fixes #3133 : print unexported types also
pkg2: refactor requirements processing to all reuse of parsing.
Merge pull request #3100 from toivoh/staged_bsxfun

Staged bsxfun and other broadcast operations
Merge branch 'master' of github.com:JuliaLang/julia
allow libm functions to work on Rational. fixes #3101
Merge remote-tracking branch 'upstream/master'