This merge request will introduce sz_t, which will be able to represent larger unsigned values by putting together two size_t.
With this, shape lengths will be changed so for the future if there are any situations where they are needed to be larger than int the compiler will be able to handle this.
This will define ways to handle both scalar operations on sz_t as well as sz_t with sz_t.