- Rename the `TestOutputDirectories` class because it is picked up by pytest as something it expects to contain tests
- Switch fields to using `Path`, rather than `str`
- Marks tests as `gpu`, `cpu_and_gpu` or `azureml`. Tests marked `gpu` and `azureml` are not run in the normal test set, only on the AzureML run triggered by the PR builds. Long tests like test_submit_for_inference are no longer run as part of the main set.
- Cleans up pytest.ini