Part of 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 for each device, which turned out to be incorrect. The social proof is still checked when creating the EthereumIdentity response struct.
Depends on D10700