Refactor sum functions

Now `sum(x)`, `sum(f, x)`, `sumabs(x)`, and `sumabs2(x)` use the same core algorithms. The function `sumabs` will be used to implement `vecnorm1`, and `sumabs2` will be used to implement `var`.
New sumabs2 to replace the original one in statistics.jl
some minor doc updates
remove cell.jl, simplify map on tuples
add tests for sumabs and sumabs2
Merge pull request #7017 from lindahua/dh/sum3

Refactoring sum functions
new implementation of map for AbstractArray

This has better type behavior, calling promote_type to widen the result
type as necessary. It is also faster, since each invocation of the inner
loop function (map_to!) only handles a single element type, allowing a
type declaration to be inserted. This is faster than the custom method
for mapping over Ranges, so that has been subsumed.
Merge branch 'master' of github.com:JuliaLang/julia
remove some redundant map definitions and add a test for heterogeneous map
Merge branch 'docs' of github.com:pygy/julia into pygy-docs

Conflicts:
	doc/helpdb.jl
Merge branch 'pygy-docs'
Added more unicode sub/superscripts to Latex tab completions
Use constants for BLAS cutoff thresholds
Merge pull request #7019 from lindahua/dh/cutoffconst

Use constants for BLAS cutoff thresholds
fix bug in map: my technique only works with typejoin, not promote_type

this gives us a useful type bound for every computed element. using
promote_type, the computed elements can be almost anything, and need
to be converted using a dynamic dispatch to convert().
use memmove in Array grow and delete

this allows them to work on undefined references

allow pointer(a, i) to work on all arrays
rm obsolete writesto docs
simplify type unions after instantiation

ref #7017

before it was possible for Union(Vector{T},Vector{Float64}) to end up as
Union(Vector{Float64},Vector{Float64}) after substituting T.
improve docs for isready(). closes #7006
Merge branch 'master' of github.com:JuliaLang/julia