Ref: #5097
Manual peers added via -addnode, -connect, or the addnode RPC represent explicit operator intent to keep those connections around.
During IBD, a manual peer can currently be disconnected if it triggers block-stalling logic. This can be surprising in -connect or -addnode-based setups, where the operator may prefer (and probably expect) to keep the peer connected even if it is not a useful block download peer at that moment.
This PR changes only the block-stalling path. Instead of disconnecting a stalling manual peer, it releases that peer's in-flight block requests so other peers can request them and IBD can continue.
A one-round recovery flag avoids immediately assigning the freed blocks back to the same manual peer due to per-peer SendMessages ordering. The manual peer can request blocks again after that recovery round.
This intentionally does not change block download timeout or headers sync timeout behavior.