Improve tests coverage and fix test-digged bugs
This MR extends and revises existing unit and integration tests, and patches a number of test-discovered bugs via small backend fixes.
New unit tests:
- Add tests for 'declearn.data_info' submodule.
- Add tests for 'declearn.dataset.InMemoryDataset' class-specific features.
- Add tests for 'declearn.main.utils.aggregate_clients_data_info'.
- Add tests for 'declearn.main.utils.EarlyStopping'.
- Add tests for large (chunked) messages' exchange over network.
- Add tests for exanded-dim inputs in MAE, MSE and R2 metrics.
- Add tests for some of the 'declearn.quickrun' backend utils.
Revise toy-regression integration tests:
- Add some centralized baseline for each and every model framework.
- Harmonize hyper-parameters across tests and model frameworks.
- Rely on 'asyncio.gather' rather than multi-processing to cut down setup costs.
- Deploy 'TensorflowDataset' (as 'TorchDataset' was upon its introduction).
Fix some bugs:
- Fix exanded-dim inputs handling in MAE, MSE and R2 metrics.
- Fix 'DataTypeField.is_valid'.
- Fix 'InMemoryDataset' single-column target loading from csv.
- Fix 'InMemoryDataset.data_type'.
- Fix 'EarlyStopping.update' with repeated equal inputs.
Side changes:
- Update Jax and Haiku dependency specifications to avoid issues with latest versions.
- Add or move around 'pragma: no cover' statements when relevant for coverage computation.
- Correct v2.3-introduced deprecations' planned removal