Previously, we only fuzzed the deserialization of
PublicKeyCredentialUserEntity. This patch replaces that fuzz target
with the deserialization of entire ctap1 and ctap2 requests.
This makes it possible to use the requests in fuzzing. The
implementations are behind an arbitrary feature. As arbitrary requires
std, we also introduce a std feature. Both new features are disabled by
default.
This patch adds a CI config that builds and tests the library and runs
clippy and rustfmt. To make the CI pass, it also fixes the formatting
and two clippy lints. One of them is a breaking change: We remove
AuthenticatorDataFlags::EMPTY. Instead, AuthenticatorDataFlags::empty()
should be used.