class Array::ArrayNotRectangular
group_by_positions: creates a nested hash from an array, like group_by
but with many positions at a time
-> arbitray number of positions, example 'myarray.group_by_positions(0,1,2,3)'
-> array
nested hash -> {key0=>{key1=>{key2=>{key3=>[ array remaining array elemnts]}}}, key0=>{key1=>{key2=>{key3=>[ array remaining array elemnts]}}}, … } ->