[ENG-8498](https://linear.app/comm/issue/ENG-8498/[july]-handle-invalid-device-token).
This approach allows us to:
1. Avoid attempting to send notifications to the provider multiple times even if the device token is invalid.
2. Avoid queuing up a lot of messages to a device that the token is invalid, we can do it only once.
The alternative is deleting the device token but then it's complicated to distinguish if the token was invalidated or the device is logging to Tunnelbroker for the first time.
Depends on D12887