Native Observability 1.1.1

Patch release on 1.1.0. Nine defects in data retention and capture, found by
auditing the cleanup handlers, plus the test group annotations that Drupal 10
discovery requires and a quality gate that runs the five checks in one pass.

Retention never deleted a span row. The threshold was built in seconds while
started_at_ms stores epoch milliseconds, so with 30560 rows past a 24 hour
window a run deleted none. The general capture switch governed the trace
subscriber alone: 60 requests with capture disabled still wrote 780 rows, and
with an OTLP endpoint configured still delivered spans to the collector. A page
cache hit answered with the correlation id of the request that produced the
cached copy, and its stored row carried no id at all. Tag invalidations had no
per-request cap, and one request wrote 190 rows. A forced purge reported
deleting nothing while removing 18672 rows, because it returned the result of
TRUNCATE.

UPGRADE NOTES

- Run `drush updb`. Four update hooks run.
- native_observability_update_10105 can raise trace_retention_hours, and prints
  why when it does: trace rows must outlive the rows that reference them.
  Review whether the longer window suits your privacy requirements.
- native_observability_update_10106 rewrites stored request paths and reports
  how many it changed.
- Rebuild caches immediately after deploying the files, before reopening
  traffic. This release adds a constructor argument to a middleware in the HTTP
  stack, so a warm container running new code fails every request until it is
  rebuilt.