Zarr v3 support
This PR experiments with adding Zarr v3 support to Kerchunk.
In most cases, this simply requires passing the zarr_version parameter to the zarr.group constructor. The primary exception is in combine.py where lots of v2 metadata keys are hard coded. I have not tried to tackle that part of the codebase yet.
If you are reviewing this, I suggest starting with the hdf5 translator and the Python 3.10 GitHub action.
towards #235
Thanks for kicking this off.
We will also need to do more work in the future, as v3 eventually gains more features that don't get backported to v2. For example, I don't know if we can already use the v3 unfinished sharding code to do what preffs does, concatenating multiple target byteranges to a single chunk for some of the data chunks. I suppose when v3 is finished and released, we could decide to drop v2 completely here, but I suspect it will be around for quite some time yet.
Somehow I messed up my fork here. I'm going to close this PR and I'll reopen.