Part of [[ https://linear.app/comm/issue/ENG-5842/delete-old-device-list-attributes-after-migration | ENG-5842 ]].
Previous approach to passing inbound/outbound keys was using `HashMaps` of strings to strings. Also, with new device list, we were serializing these to hashmaps, just to parse them back a few lines later.
This was error prone and hard to maintain, so this diff introduces new, simplified and type-safe structs for inbound/outbound keys.
Also, removed the logic for checking social proof existence directly into gRPC handlers, for brevity.for each device, Note that this touches recently introduced `identifier` response field,which turned out to be incorrect. cc @willThe social proof is still checked when creating the `EthereumIdentity` response struct.
Depends on D10700