completeDeviceAuthenticationRecovery

Submits authorization for this device's pending recovery and, once the server replaced the registered key, makes the pending key the active device authentication key (docs/device-recovery.md). From then on every request is signed with it; the old key no longer works.

Safe to call again after a failure or a lost response: the server recognizes a retry of an applied recovery, and if it rejects the retry as conflicting, expired or replayed, this asks the server whether the pending key is already registered (resolveDeviceAuthenticationRecovery) before failing. Other failures leave the pending key for another attempt. Throws SecureMessageClientException.NoPendingDeviceRecovery, SecureMessageClientException.InvalidDeviceRecovery if authorization is not for this device's pending key, and SecureMessageTransportException.DeviceRecoveryRejected.