Add helper functions to SOAZip to loop over SOACollection of zips and non-zips with identical code
Adds two functions scalar() and simd() that can be used to loop over SOACollections of zips in the same way as for non-zips, e.g.
for( auto thing : things.simd() ) {...}
where things is either an SOACollection or a zip of SOACollections.
Edited by Michel De Cian