Fix |AuthenticatorSupportedOptions.user_presence_required|.

In the authenticator options, the “up” flag doesn't mean that user
presence is required, it means that the authenticator supports obtaining
it. So, firstly, rename that field to correctly reflect the semantics.

Secondly, implement this in the virtual CTAP2 device.

(The purpose of this field is a little unclear: creating a credential
unconditionally requires user-presence in the spec. Therefore an
authenticator that's not capable of testing it can never create any
credentials and would appear to be useless. But there we go.)

Change-Id: I129f825a3732da1e0521182f2dc1bc4c9e26e038
Reviewed-on: https://chromium-review.googlesource.com/c/1450640
Commit-Queue: Adam Langley <agl@chromium.org>
Reviewed-by: Martin Kreichgauer <martinkr@google.com>
Cr-Commit-Position: refs/heads/master@{#630591}
6 files changed