remove parallel steps
With this PR, we remove the weird concept of parallel steps (which do not exist in DAG software/theory, I think).
 
Benefits:
- multiple parts of the code are now simpler
- fixes #2460

Drawbacks:
- we might end up computing from "streaming" twice when the Parquet has any error. Anyway, it should be 1. exceptional, 2. fast.

fixes #2473 

Details:
- [x] change array of kinds in api/endpoint to one kind
- [x] take only one step in get_cache_entry_from_steps, and move the corresponding tests (if some are still necessary) from service/api/tests/test_endpoint.py to libapi
- [x] replace get_best_response with get_response_or_missing_error
- [x] delete get_best_response
- [x] remove concept of BestResponse
- [x] remove variables with "best_response" in their name
- [x] take only one processing_step_name in try_backfill_dataset_then_raise
- [x] take only one kind in fetch_names
- [x] take only one step in get_previous_step_or_raise
- [x] has_any_successful_response -> is_successful_response
- [x] remove parallel mechanism
- [x] remove ResponseAlreadyComputedError
- [x] implement, test and creation migration for
  - [x] config-split-names (and fix tests_split_names)
  - [x] split-first-rows

remove parallel steps: With this PR, we remove the weird concept of parallel steps (which do not exist in DAG software/theory, I think).
 
Benefits:
- multiple parts of the code are now simpler
- fixes #2460

Drawbacks:
- we might end up computing from "streaming" twice when the Parquet has any error. Anyway, it should be 1. exceptional, 2. fast.

fixes #2473 

Details:
- [x] change array of kinds in api/endpoint to one kind
- [x] take only one step in get_cache_entry_from_steps, and move the corresponding tests (if some are still necessary) from service/api/tests/test_endpoint.py to libapi
- [x] replace get_best_response with get_response_or_missing_error
- [x] delete get_best_response
- [x] remove concept of BestResponse
- [x] remove variables with "best_response" in their name
- [x] take only one processing_step_name in try_backfill_dataset_then_raise
- [x] take only one kind in fetch_names
- [x] take only one step in get_previous_step_or_raise
- [x] has_any_successful_response -> is_successful_response
- [x] remove parallel mechanism
- [x] remove ResponseAlreadyComputedError
- [x] implement, test and creation migration for
  - [x] config-split-names (and fix tests_split_names)
  - [x] split-first-rows
