Refactor ArtiEphemeralKeystore to store keys more efficiently

It currently unnecessarily serializes/deserializes SshKeyData as String, because SshKeyData doesn't implement EncodableKey.

The following discussion from !2076 (merged) should be addressed:

  • @gabi-250 started a discussion: (+3 comments)

    Originally, UnparsedOpenSshKey was only meant to be used by arti's on-disk keystore (and it was supposed to represent a key read from disk, hence the PathBuf arg).

    Taking a step back: do we need to store the keys as an openssh key string, or can we store them as SshKeyData instead? That way we don't need to serialize/deserialize them on insertion and retrieval.