Extend 'sq key adopt' to allow adopting bare keys

Part of the problem raised in openpgp-card/openpgp-card#2 (closed) is how to further process public key material that was exported from OpenPGP cards (as a Key<key::PublicParts, key::UnspecifiedRole>).

Such subkeys could be associated with a software key, and this might be a common use case. sq key adopt is a mechanism that solves a similar use case.

The first problem with this is that sq key adopt doesn't allow importing such bare keys, because they have no binding signature. However, I think there is no strong reason why sq key adopt shouldn't allow importing them. A bare public key seems no more problematic than a subkey that is bound to some random primary key.

However, for use as a (sub)key, the public key material from cards is also lacking metadata (e.g. expiration).

So the main practical difficulty for importing bare public keys via sq key adopt is that we'd need to specify the missing metadata that should be stored in the binding (or direct key) signature. This data could be passed as additional parameters to the sq key adopt call (that would get unwieldy if multiple keys are getting adopted at once and each one can have multiple pieces of associated metadata).