This fixes the "Incorrect actor executor assumption" error that occurred
when running `remindctl list`.
## Problem
The `fetchReminders` method was calling the actor-isolated `item(from:)`
method from inside a non-isolated EventKit completion handler. Additionally,
`EKReminder` objects are not `Sendable`, which violates Swift 6's strict
concurrency checking.
## Solution
Restructured `fetchReminders` to:
1. Extract all needed data from `EKReminder` objects inside the callback
(where it's safe to access them)
2. Store that data in a local `Sendable` struct (`ReminderData`)
3. Pass the Sendable data across the concurrency boundary
4. Convert to `ReminderItem` on the actor using the safe data
This ensures all actor-isolated code runs on the correct executor and
all data crossing concurrency boundaries is Sendable.
## Testing
- Built successfully with Swift 6.0
- All commands tested: list, show, status
- JSON output verified