Reasoning in D12269 - we want to pass full PlatformDetails with Identity requests metadata, not only platform and code version.
Decided to introduce PlatformMetadata struct which accepts device type as string.
This is needed for custom device types (like "service") which are valid identity clients, but not valid devices for registration.
Parsing is handled in the next diff
Depends on D12269