Remove touch prompt on PIV key generation
Remove touch prompt on PIV key generation

With the current architecture in yubikey.py, it is not possible to
differentiate between the cases:

- The management key requires touch.
- Key generation just takes a long time (i.e., RSA key generation).

This is caused by a combination of factors:

 1. It's not possible (as far as I can tell) to pass a JS function as a
    callback argument through PyOtherSide - it's "translated" to `None`.
 2. The authentication and key generation commands block the thread.
 3. The driver object in yubikey.py is kept open only for the duration of
    each PyOtherSide call.

Because of (1), only the main callback can return control to the QML
layer, and only after the main Python thread returns. Thus the
`touch_callback` argument in ykman cannot be used from QML, and you
instead have to rely on a timer to decide whether to show a "Touch your
YubiKey" prompt.

Because of (1) and (2), it's not possible to return a "touch required"
status code to the QML layer.

Because of (3), the key generation command must be sent in the same
PyOtherSide call as the authenticate command.

Yubico/yubikey-manager-qt,Yubico/yubikey-manager-qt,Yubico/yubikey-manager-qt,Yubico/yubikey-manager-qt