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
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)
Add in option for JULIA_PKGDIR when packaging mac app
Merge pull request #3510 from staticfloat/pathfix

Add in option for JULIA_PKGDIR when packaging mac app
Fix #3509
More arpack tests. Fix ARPACKException. Fix float32 case.
Merge branch 'master' of github.com:JuliaLang/julia
Updated doc for keys(d::Dict) and values(d::Dict) to reflect that they return an Iterator.
Fix #3511.
Enable complex tests for ARPACK.
Remove test failure comment in test/arpack.jl since tests are passing now (#3511)
Merge pull request #3512 from amitmurthy/dictdoc

Updated doc for keys(d::Dict) and values(d::Dict) to reflect that they r...
Make integer_partition work with integer inputs other than Int64. (#3513)
Merge branch 'master' of github.com:JuliaLang/julia
Merge pull request #3501 from JuliaLang/vs/sparsemodule

Create a module for sparse stuff
pkg2: make package removal safer by moving deleted pkgs to `.trash`.