Broadcast shouldn't use inbounds when calling f (#19188)
* Broadcast shouldn't use inbounds when calling f
Previously, `broadcast(getindex, A, I...)` would call `getindex` within an
at-inbounds context. This patch simply moves the function call so that it
will throw a BoundsError appropriately.
* Add inbounds elsewhere in broadcast
Try to restore some performance by allowing inbounds propagation into _broadcast_getindex.