DOC: Splitting api.rst in several files
- [X] closes #24451
- [ ] tests added / passed
- [ ] passes `git diff upstream/master -u -- "*.py" | flake8 --diff`
- [ ] whatsnew entry

@TomAugspurger do you know why moving the api `autosummary` to a directory, make the build not find the generated files? For what I understand, the `:toctree: generated/` is used for both, to know where to generate the API files, and later on to link them. But it looks like they are generated in `generated/`, but then I get warnings because sphinx is looking for them in `api/generated/`.

There was something a bit tricky in the `autosummary_generate` option that I removed in #24428 (it's not yet merged), but I don't see anything in the configuration that can be causing this behavior (and I've seen other projects using autosummaries in directories without problems, like https://github.com/bradgwest/esof523a3/tree/master/doc/reference).