Add `Dataset.from_generator`
Add `Dataset.from_generator` to the API to allow creating datasets from data larger than RAM. The implementation relies on a packaged module not exposed in `load_dataset` to tie this method with `datasets`' caching mechanism.

Closes https://github.com/huggingface/datasets/issues/4417
I restarted the builder PR job just in case _The documentation is not available anymore as the PR was closed or merged._ CI is now green. https://github.com/huggingface/doc-builder/pull/296 explains why it failed.