Broadcast ./ for BitArrays

simply by removing a method!
Broadcast .* for BitArrays

addresses #3171
Broadcast: use start/next for Arrays/BitArrays

introduces specialized versions of the broadcasting
core which use start/next instead of cartesian iteration.
Used when the arguments only involve Arrays or BitArrays.
Export bitbroadcast
fix #5536, specificity bug in varargs methods
Merge pull request #6035 from JuliaLang/cb/bitbroadcast

BitArray broadcasting
Update helpdb.jl
Export bitbroadcast from Base
Remove Array+-Number methods. Define UniformScaling and the identity operator I. Let Number/Matrix be the inverse. Update docs.
Merge pull request #5810 from JuliaLang/anj/arraydiv

Restrict +,- and / to algebraic operations (for matrices). Use . versions for elementwise operations. Add UniformScaling matrix.
Fix A_mul_B! for y inputs with NaNs by setting elements to zero when β is zero.
grammar
fix #6098, crash on stack overflow splicing big argument lists

still slow as hell and still a bad idea, but at least it doesn't segfault
fix #6099, small oversight that left out .+= and .-=
fix #6091, message for non-finite or length mismatch in test_approx_eq
Which for error message for non-broadcasting (+) and (-)
mitigate #6097

the general problem was that one place in the code had a larger type for
a tuple than another. I don't know why, but we can at least generate
correct code instead of crashing. there was already some code in boxed()
towards handling this kind of thing, but it needed to be rearranged a bit.
type stability in all norm variants (continuing #6056 and #6057)
Doc for lufact is corrected and updated.

- lufact(::Tridiagonal) is now documented.
- Tabulate the output types LU, LUTridiagonal and UmfpackLU types, their components, and supported methods.
Merge pull request #6084 from JuliaLang/jb/equalranges

make ranges and arrays unequal, faster hashing of ranges, fixes #5778