Make most key types use preparsing and fix a Smack problem.
Merge branch 'keys-preparse-1' into keys-next

This makes all key types barring trusted and encrypted use preparsing for the
->instantiate() and ->update() key operations, the idea being to only use
preparsed payloads for these ops to remove certain types of failure (EINVAL,
for example) whilst holding locks.

Unfortunately, trusted and encrypted keys incorrectly use key_update() to
alter a key rather than adding an operation for this, so those will need
special handling.

Signed-off-by: David Howells <dhowells@redhat.com>