Add Zarr streaming support (POC)

Add initial Zarr streaming support (POC).

This introduces a `zarr` packaged module and docs/tests to validate basic loading.

Note: I pushed a follow-up commit to fix an accidental duplication in `benchmarks/benchmark_zarr_streaming.py` (file now contains a single benchmark script).


Hi! It looks like the GitHub Actions check suites for this PR are in `action_required` (no workflows actually ran). This is usually due to fork workflow approval.

Could a maintainer please approve/run the workflows so CI can execute? Happy to address anything CI flags once it runs.

The docs for this PR live [here](https://moon-ci-docs.huggingface.co/docs/datasets/pr_7983). All of your documentation changes will be reflected on that endpoint. The docs are available until 30 days after the last update.

> Great PR ! It looks mostly good to me, I added a fes suggestions.
> 
> Btw the current implementation for streaming returns a StreamingIterableDataset with `num_shards=1`, which corresponds to 1 metadata file.
> 
> For large datasets it's maybe more practical to have a more finegrained sharding, e.g. at data file level. Wdyt ?

Thanks for the review. I agree on sharding: num_shards currently tracks the number of input Zarr stores, so it is often 1, which is not ideal for large datasets.

I can implement finer-grained sharding using row-range shards aligned to axis-0 chunk boundaries (instead of one shard per metadata file), with a config knob like rows_per_shard / target_num_shards.

I can add this in this PR if you want it before merge, or do it as a focused follow-up PR right after.

> Feel free to include it in this PR if it's ok for you.
> 
> Thanks for the changes, I just have one last comment I didn't think of earlier. The rest looks good to me :)
> 
> btw it seems some tests are failing in `tests/packaged_modules/test_zarr.py`

Done  ✅ 🤗
included the sharding/counting follow-ups in this PR
including _generate_num_examples, _CountableBuilderMixin, finer-grained sharding controls, and the robustness fixes/tests/docs.

@lhoestq quick ping. I pushed the requested updates including sharding and _generate_num_examples. Could you take another look when you have time?

I can rerun or fix CI items right away if you want.

Hi @lhoestq, quick update on this PR.

I added support for loading Zarr store roots directly through `data_files`, including paths like `.../brain_00000.zarr` and wildcard patterns like `*.zarr`.

I also updated tests to cover store root paths, wildcard store roots, and v2 store root loading, and validated everything from a fresh clone.

I ran this against `KokosDev/single-cell-brain-zarr` with 5 different use cases a user might use:
1. Metadata discovery and schema inspection
2. Analytics sampling on a single shard
3. Multi shard ingestion with explicit shard lists
4. Multi shard ingestion with wildcard glob patterns
5. Training pipeline smoke test plus export pipeline validation
All passed.

FYI I also created a Zarr collection and I am working on expanding it:
https://huggingface.co/datasets/KokosDev/single-cell-brain-zarr
It has over 23k downloads in 15 days.

Please merge if everything looks good to you. Thank you. 🤗

Hi @lhoestq, quick follow-up. I pushed the requested update to keep globbing unchanged and moved `.zarr` root detection into the Zarr builder. Happy to adjust anything else if needed.