This addresses a deprecation warning on the Signal target. Note that
the new code follows the logic of the old code where it only checks
alerts, badges, and sounds settings for notifications. It may be
desirable at some point to revisit the definition of the function
`isSusceptibleToFailedPushRegistration` and decide what the correct
intentions of this code should be.
Also:
- Remove AtomicUInt's @objc, it's no longer used from ObjC
- Remove Codable conformances, they would implicitly use shared locks
and weren't used in practice