rewind_conversation and the new fork_conversation now share the same logic for finding a target message and checking if the session is busy
The handling code for rewind_conversation and the newer fork_conversation control requests now shares a common function for looking up the target message and a common check for whether the session is busy or blocked. This replaces rewind_conversation's previous, more elaborate custom logic for searching through stacked expansions and queued commands to find its target.
This is a code consolidation that makes the two related features behave consistently, rather than a new capability for the reader.