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
Update SuiteSparse to 4.2.1
annotate f as Function for map, map!, mapreduce, reduce
change the annotation of f from Function to Union(Function,DataType)
added rsplit. fixed rsearch for a case when both string and pattern are empty.
incorporated comments and corrections
Merge pull request #3484 from tanmaykm/tanmaykm

corrected typo in PipeBuffer constructor
avoid boxing of more result values. should help #3485
Merge branch 'master' of github.com:JuliaLang/julia
Merge pull request #3478 from staticfloat/suitesparse-upgrade

Update SuiteSparse to 4.2.1
Fix process chain handling in spawn

Fixes #3488
Reset SIGPIPE handler in child processes

Allows things like run(`yes` |> `head`) to not hang.
Introduce abstract type Callable
Merge pull request #3480 from lindahua/annot_funs

Annotate function arguments with Union(Function,DataType)
use .- instead of bsxfun in var
Merge pull request #3491 from lindahua/var_quickfix

use .- instead of bsxfun in var