macros for turning off bounds checks. fixes #1392

`@inbounds expr` allows bounds checks to be omitted for code syntactically
inside the argument expression.

adds @inbounds to matmul, comprehensions, and vectorized binary operators.
Merge branch 'master' of github.com:JuliaLang/julia into jb/inbounds
Merge branch 'master' of github.com:JuliaLang/julia into jb/inbounds
clarify boundscheck expressions
Merge branch 'master' of github.com:JuliaLang/julia into jb/inbounds
Merge branch 'master' of github.com:JuliaLang/julia into jb/inbounds

Conflicts:
	src/alloc.c
	src/codegen.cpp
	src/jltypes.c
added rsplit. fixed rsearch for a case when both string and pattern are empty.
incorporated comments and corrections
Merge pull request #3492 from tanmaykm/readcsv

buffered writedlm. substring print invokes write. fixes #3483
closes #3437. Also rmprocs can now accept an array of pids too.
Merge pull request #3493 from amitmurthy/rmprocs

closes #3437. Also rmprocs can now accept an array of pids too.
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'.