Permute

Member functions for an array that allow one to permute, roll, and transpose axes.
Do I need to do shallow_copy_array_memory_block(get_memblock()) here? I found just doing a view did not copy the metadata.