Datasets streaming iterable packaged fixes

This PR ckumps a bunch of fixes across streaming, iterable datasets, and packaged modules, plus workflow/docs cleanups.

A collection of fixes and long-overdue feature completions that kept getting pushed off as TODO(QL) comments. Nothing here is a dramatic architectural change, mostly things that were partially wired up but not quite finished, plus a handful of bugs.

 ## Changes:

### `max_shard_size` is active
The parameter existed on `push_to_hub` for both `IterableDataset` and `DatasetDict` but was commented out. It's now active. If you pass `max_shard_size`, the shard count gets estimated from the dataset's actual byte size. Passing both `max_shard_size` and `num_shards` at the same time raises a `ValueError` since they're two ways of saying the same thing. Also fixed a footgun where `num_proc` could be set higher than the number of shards, we now clamp it, and disable multiprocessing entirely for single-shard datasets since there's nothing to parallelize.

### `iter_arrow` added to additional iterable wrappers

`StepExamplesIterable`, `HorizontallyConcatenatedMultiSourcesExamplesIterable`, `SkipExamplesIterable`, and `TakeExamplesIterable` were all sitting with `# TODO(QL): implement iter_arrow` comments. They now have it, delegating to `_convert_to_arrow(batch_size=1)` and gating on whether the underlying iterable supports it.

### Archive glob patterns now work end-to-end

A few things were broken with prefixed archive paths like `zip://*::https://foo.bar/data.zip`:

- `resolve_pattern` was dropping the archive hop after globbing
- `_extract` was trying to extract paths that were already targeting an archive filesystem
- `_iter_from_urlpaths` didn't expand wildcards before walking

All three are fixed and covered by tests.

### `to_pandas` respects declared features

If your `IterableDataset` had declared features and the inferred Arrow schema didn't match, `to_pandas` would silently return data in the wrong types. It now passes the declared features through and casts when needed, in both the batched and non-batched paths.

### Smaller bug fixes

- **`folder_based_builder`** had a logic error — `large_string` list types in `file_names`/`*_file_names` metadata columns weren't being recognised due to a malformed `or` inside a `List(...)` call. Fixed to a proper `in [...]` check.
- **`WebDataset.VIDEO_EXTENSIONS`** had leading dots on the entries (`.mp4` instead of `mp4`) which broke extension matching.
- **`_get_single_origin_metadata`** was passing the original `data_file` string to `fs.resolve_path` and `fs.info` instead of the resolved `fs_path`. Caused subtle breakage with non-HF filesystems.
- **`load_dataset_builder`** — user-passed kwargs now correctly override module-level `builder_kwargs` instead of losing to them.

### Other

- README had JAX listed as `3.14+`, it should be `0.4+` 
- Bumped `actions/checkout` to v5 in the TruffleHog workflow


## Tests 

Added/updated tests for:

* archive-prefixed glob resolution and streaming file iteration/extraction
* iterable upload sharding behavior and validation
* iterable Arrow/pandas behavior
* folder-based metadata column handling
* webdataset video handling
* videofolder behavior
* builder kwargs override behavior

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

Fixing soon :)

Amazing PR ! I took the liberty of pushing a few fixes to account for recent changes on `main` and to implement dedicated `iter_arrow()` functions in additions to your improvements

the error in the CI was related to changes that happen on `main` that I didn't account when merging `main` into this PR, hopefully it's ok now

Phenomenal work! I apologize I haven't been pushing due to my laptop dying

your changes are live in the new `datasets` v4.8 :)

That's awesome news 🤗. I met Joshua (Xenova) and he told me I should try to contribute to Huggingface's repo. So this was my attempt :)