[identity] Get device PlatformDetails from metadata
Summary:
Passed metadata PlatformDetails all the way through to DDB storage in all login/registration actions (where DeviceKeyUpload is present)
Added parsing and verification for device type.
Depends on D12270
Test Plan:
Combined test plans from D12269 and D12270:
- Modified client to have additional metadata args
- Called LogInUser to verify that they're stored in DDB
- Deliberately malfolmed client device_type to make sure DeviceKeyUpload value is preferred and a warning is displayed
Reviewers: varun, marcin, will
Reviewed By: marcin
Subscribers: ashoat, tomek
Differential Revision: https://phab.comm.dev/D12271