pkg2: use package caches as canonical version history in Read.

Also, be more verbose when cloning repos as otherwise this just
appears to hang for a really long time.
pkg2: impement Pkg2.update(), add Pkg2 to system image.
specialize promote_shape for (Int, Int) and (Int, Int)
Merge pull request #3498 from lindahua/promoteshape2

specialize promote_shape for (Int, Int) and (Int, Int)
specialized methods for fast reduction of tuples
Merge pull request #3499 from lindahua/tuple_reduc

specialized methods for fast reduction of tuples
Merge pull request #3477 from tanmaykm/rsplit

added rsplit. fix rsearch for case when both string and pattern are empty
Reorganize sparse matrix code into a module.
export only a well-defined interface, while hiding internal functions.
Create a sparse/ directory for all the sparse matrix code.
Rename the cscdiagit type to SpDiagIter
Fix boolean setindex!
Add convert(SparseMatrixCSC{Tv,Ti}, M::Matrix)
Make workspace larger in xbdsdc to avoid segfault when uplo='L'.
Some linalg changes. A new general matrix factorization method. A Julia implementation of gelsy. Some changes to the treatment of symmetric and hermitian matrices and some bug fixes. And some tests.
Merge pull request #3315 from JuliaLang/anj/factorize

RFC: factorize() and \
Fix for OrCmds printing

This would close #3504
Merge pull request #3505 from swadey/patch-1

Fix for OrCmds printing
pkg2: not all versions of `git branch` support the `-q` option.
Changes to contrib/repackage_system_suitesparse4.make to more closely match how SuiteSparse is built in deps/
Gets rid of conflicting symbols warnings on Homebrew, and also saves a bit of disk space, as libraries are now dynamically linked instead of statically linked
Merge pull request #3507 from staticfloat/homebrew

Changes to contrib/repackage_system_suitesparse4.make
WINDOWS: fix 78cc53082aa5632d0835518663f940301b0116e5
Fix paths in test/readdlm.jl
Merge pull request #3508 from staticfloat/fixpaths

Fix paths in test/readdlm.jl