Fix #6432
Handle unary arithmetic and math functions on sparse matrices
for all cases:

1. Operations that map nonzeros to nonzeros, and zeros to zeros
   Result is sparse
2. Operations that may map nonzeros to zero, and zeros to zeros
   Result is sparse
3. Operations that map nonzeros to nonzeros, and zeros to nonzeros
   Result is dense

Many other math functions from math.jl now need to be added to
complete this.
Merge branch 'master' of github.com:JuliaLang/julia