fix(thorchain): isolate pending migrations by vault and chain
Addresses #3350 (closed).
A pending migration currently blocks every chain in its retiring vault. Restrict that guard to the affected chain so healthy chains can continue draining.
The guard is deliberately per chain rather than per asset: this preserves existing within-chain scheduling and gas-retention behavior while removing cross-chain coupling. A token-specific failure still holds other assets on that chain. Stale retry timing and the final-round gas-last rule remain unchanged.
Also fix the stale-height iteration bug introduced by cf4f504ea2. Removing pending heights while iterating their backing slice can skip another height, leaving an old request signable while scheduling its replacement. Independent chain progress makes multiple distinct pending heights relevant, so this repair belongs with the scheduling change.
This changes consensus scheduling and requires a coordinated upgrade. It allows earlier drainage of healthy chains. Churn remains blocked while stuck funds remain.