Remove panics from permit/slot.rs state transitions
- into_idle() now returns Option<IdleToken> instead of panicking
- into_poisoned() now returns bool instead of panicking
- Invalid state transitions log errors and use debug_assert for dev builds
- Callers updated to handle new return types gracefully