Transfer ArrayViews from package to Base

This is an updated version of #5556. I have copied the content of `ArrayViews.jl` to `Base` and committed with @lindahua as author. Are you okay with this @lindahua?
same here (`offset(a)` not `a.offset`)