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
Regex support match_all
Adding match_all to exports.jl
multi: do not assume a bash login shell, use sh by default
Workers exit if process 1 does not connect within 60 seconds
BigInt: export trailing_zeros and trailing_ones, add count_ones
fix #3365
pkg2: ported resolve code
pkg2/resolve: remove vers (use deps instead)
pkg2/resolve: improve vdict
pkg2: fix VersionSet equality operator

also add hashing
pkg2/resolve: make FieldValue immutable

also:
 * move FieldValue to its own file
 * fix sanity_check error object construction
 * back to BitMatrix in dependencies masks
 * cosmetics
pkg2/query: small fix in requirements
pkg2/resolve: split code in separate files

also fix a typo in impossible requirements reporting
pkg2/resolve: merge Reqs/PkgStruct into Interface

also renamed things accordingly