fix: address code review feedback on ignored integration tests
- test_ac7_3_build_recovery_override_signs_with_device_key: Replace hardcoded timestamps with dynamic values using Utc::now(). Use (Utc::now() - Duration::hours(2)).to_rfc3339() for genesis and (Utc::now() - Duration::hours(1)).to_rfc3339() for the unauthorized op, ensuring timestamps remain within the 72-hour recovery window.
- test_ac7_3_build_recovery_override_signs_with_device_key: Fix add_identity failure by calling remove_identity first to clean up stale Keychain state, then expect() on add_identity to properly propagate errors instead of silently discarding them.
- test_ac7_4_submit_recovery_override: Apply same timestamp fix as test_ac7_3.
- test_ac7_4_submit_recovery_override: Apply same add_identity cleanup as test_ac7_3.
Root causes:
- Hardcoded timestamps from 2026-03-29 are now >72 hours old, exceeding the recovery window and failing check_recovery_window().
- Silently discarding add_identity errors masked Keychain stale state from prior test runs, causing cascading failures in device key lookup.