effects: taint `:consistent`-cy on `:inbounds` and `:boundscheck` exprs
- taint `:consistent`-cy on `:boundscheck` expr
- taint `:consistent`-cy on `:inbounds` expr
N.B it turns out that we didn't taint it correctly before, since
`jl_code_info_set_ir` encodes `:inbounds` expressions into `ssaflags`
and eliminates them before abstract interpretation
- improved `ntuple` effects slightly
Since this commit ends up tainting `:consistent` of `getindex(::Tuple, ::Int)`
too aggressively even for cases when the `getindex` call is known to
safe, this commit also converts some `getindex(::Tuple, ::Int)` calls in
Base to direct `getfield(::Tuple, i)` calls.