Make user_data fields private

Add accessor functions.

Add unit tests for the accessor functions.

Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
diff --git a/ChangeLog.d/ssl_context-user_data.txt b/ChangeLog.d/ssl_context-user_data.txt
index 1198847..630d8f0 100644
--- a/ChangeLog.d/ssl_context-user_data.txt
+++ b/ChangeLog.d/ssl_context-user_data.txt
@@ -1,5 +1,6 @@
 Features
-   * The structures mbedtls_ssl_config and mbedtls_ssl_context have an
-     extra field user_data which is reserved for the application.
+   * The structures mbedtls_ssl_config and mbedtls_ssl_context now store
+     a piece of user data which is reserved for the application. The user
+     data can be either a pointer or an integer.
    * Add an accessor function to get the configuration associated with
      an SSL context.