Refuse non-byte-sized raw data keys

Since the key size is stored in bytes, we can't have a key whose size
isn't a whole number of bytes.
diff --git a/library/psa_crypto.c b/library/psa_crypto.c
index 90b4354..ba80912 100644
--- a/library/psa_crypto.c
+++ b/library/psa_crypto.c
@@ -420,6 +420,8 @@
         default:
             return( PSA_ERROR_NOT_SUPPORTED );
     }
+    if( bits % 8 != 0 )
+        return( PSA_ERROR_INVALID_ARGUMENT );
 
     /* Allocate memory for the key */
     raw->bytes = PSA_BITS_TO_BYTES( bits );