CLN: Reestructure tools and scripts
I think it would be good to reestructure a bit our scripts, make sure all them have a header explaining what they do and how to use them, get rid of the ones not in use anymore (if any), and add the inventory of them to the contributing documentation, with what they do.

I'd move all them to `ci/` (or if the name is not good rename it; sklearn uses `build_tools`, numba `buildscripts`). And inside, I'd have different directories (names can probably be improved):
- `ci/deps/`: conda requirements files
- `ci/setup/`: scripts to create the environment, like downloading conda, building pandas...
- `ci/testing/`: scripts to run the tests
- `ci/checks/`: scripts to validate code, like `code_checks.sh` or `validate_docstrings.py`
- `ci/release/`: scripts used during the release
- `ci/benchmarks/`: I'd move the asv files inside `ci`
- `ci/config`: A directory for the yaml files with the CI configuration
- `ci/tools/`: scripts like `merge-pr.py`, `find_commits_touching_func.py`...

It would probably be good to unify scripts, like `script_single.sh` and `script_multi.sh` that share 70% of the code, and have a single script with an argument `run_tests.sh single` / `run_tests.sh multi`.

And it could also be useful to have a single script for things like the set up, so we have downloading and running conda in the same script, and it can be called all together, or just a part (like `code_checks.sh`), so we can do `setup_env.sh download`, `setup_env.sh create`, or simply `setup_env.sh` to do both.

@pandas-dev/pandas-core thoughts?