feat: AIMD concurrency controller in AtticCore
Moves the iCloud-lane backoff policy out of LadderKit (which now exposes
only the observation-only protocol) and into attic, where "how aggressively
to back off" is an orchestration decision alongside the retry queue and
manifest.
- AIMDController actor conforms to AdaptiveConcurrencyControlling.
Sliding window of the last 20 outcomes; halves on >30% transient-failure
rate, grows by 1 on <=5%, ignores permanent failures. Window clears on
every limit change so stale pre-change outcomes can't immediately re-trip.
- 3-field Config (initial/min/max); thresholds and window size are internal
constants — callers don't tune them today.
- Tests cover backoff, recovery, permanent-failure ignore, floor/ceiling,
and the sliding-window burst-straddle case that a tumbling window would
miss.
Also flips Package.swift's ladder dep from `from: "0.4.0"` to a local path
for development; revert to `from: "0.5.0"` after tagging upstream. Updates
the BackupPipelineTests mock for ExportError's new classification-based
initializer.