Break up key identifiers into user, vendor and reserved ranges

Define a range of key identifiers for use by the application
(0..2^30-1), a range for use by implementations (2^30..2^31), and a
range that is reserved for future use (2^31..2^32-1).
diff --git a/include/psa/crypto.h b/include/psa/crypto.h
index 424c16e..a62dd8b 100644
--- a/include/psa/crypto.h
+++ b/include/psa/crypto.h
@@ -512,6 +512,10 @@
  *
  * Open a handle to a key which was previously created with psa_create_key().
  *
+ * Implementations may provide additional keys that can be opened with
+ * psa_open_key(). Such keys have a key identifier in the vendor range,
+ * as documented in the description of #psa_key_id_t.
+ *
  * \param id            The persistent identifier of the key.
  * \param[out] handle   On success, a handle to a key slot which contains
  *                      the data and metadata loaded from the specified