Make `read!(::IO,::StridedArray)` call `unsafe_read` if possible (#42593)
This PR makes `read!(s::IO,a::StridedArray)` call `unsafe_read`, if `a`
has continous memory layout.
Since most of the checks are type-based, I think this does speed up,
esspecially when `lock = true`.
BTW, the above dispatch for `read!(s::IO, a::Array{UInt8})` in L762
seems unnecessary, should we drop it?
---------
Co-authored-by: Jameson Nash <vtjnash@gmail.com>