Add PredictionSlot combining Prediction and Permit
PredictionSlot holds both together with separate concerns:
- Prediction behind Mutex for concurrent updates
- Permit for RAII pool return on drop
Slot transitions: into_idle() returns permit, into_poisoned() orphans it.
Drop handler fails non-terminal predictions if slot leaked.