recoverDevice
Replaces the registered device authentication key of authorization's target with its replacement key, authorized by another registered device of the same user and proven by the replacement key (docs/device-recovery.md). Throws DeviceRecoveryException and changes nothing if any check fails.
From the moment this returns DeviceRecoveryOutcome.REPLACED, only the replacement key authenticates the target; the old key is rejected. The target's messaging identity, prekeys and mailbox are not touched. A retry of the same recovery returns DeviceRecoveryOutcome.ALREADY_APPLIED.