Fix EolPlatforms unit tests crashing on PRs that modify config files (#2855)

`create_initial_steps()` prepends a label-less `{"block": ...}` step to
presubmit builds whose PR modifies a config file (anything matching
`is_config_file()`, i.e. `*.yml` or a path containing `.bazelci`).

The `EolPlatforms` tests indexed `s["label"]` on *every* step returned
by `print_project_pipeline()`, so they blew up with `KeyError: 'label'`
on any such PR, regardless of the content of the change. Example: #2853,
where the only change is dropping two platforms from
`smoke_test/smoke_test.yml`, yet the unit test job fails on Linux, macOS
and Windows.

Postsubmit is unaffected because `create_initial_steps()` returns `[]`
on the default branch, which is why this only ever shows up as a
presubmit-only failure.

Fix: look the label up defensively, and skip non-dict steps (e.g. plain
`"wait"`).

Verified locally against the #2853 head commit:

```
cd buildkite
BUILDKITE_BRANCH=meteorcloudy-patch-3 BUILDKITE_PIPELINE_DEFAULT_BRANCH=master \
  BUILDKITE_COMMIT=191d4b08733636654d77ff0dd59b5273d3c5f9e2 python3 bazelci_test.py EolPlatforms
```

fails with `KeyError: 'label'` before this change and passes after it.
Full suite: 38 tests, OK.
1 file changed