Integrate contributed implementation into Mbed TLS

A reduced implementation of the snprintf function has been provided.
This commit integrates it with Mbed TLS by putting it in the platform.c
translation unit and making it configurable via the config file.
Additionally the code has been formated to fit Mbed TLS style
guidelines.
diff --git a/include/mbedtls/check_config.h b/include/mbedtls/check_config.h
index be80332..e34661b 100644
--- a/include/mbedtls/check_config.h
+++ b/include/mbedtls/check_config.h
@@ -392,6 +392,16 @@
 #error "MBEDTLS_PLATFORM_SNPRINTF_ALT defined, but not all prerequisites"
 #endif
 
+#if defined(MBEDTLS_PLATFORM_TF_SNPRINTF) && !defined(MBEDTLS_PLATFORM_C)
+#error "MBEDTLS_PLATFORM_TF_SNPRINTF defined, but not all prerequisites"
+#endif
+
+#if defined(MBEDTLS_PLATFORM_TF_SNPRINTF) &&\
+    ( defined(MBEDTLS_PLATFORM_SNPRINTF_ALT) ||\
+      defined(MBEDTLS_PLATFORM_STD_SNPRINTF) )
+#error "MBEDTLS_PLATFORM_TF_SNPRINTF and MBEDTLS_PLATFORM_SNPRINTF_ALT/MBEDTLS_PLATFORM_STD_SNPRINTF, cannot be defined simultaneously"
+#endif
+
 #if defined(MBEDTLS_PLATFORM_SNPRINTF_MACRO) && !defined(MBEDTLS_PLATFORM_C)
 #error "MBEDTLS_PLATFORM_SNPRINTF_MACRO defined, but not all prerequisites"
 #endif
@@ -399,7 +409,7 @@
 #if defined(MBEDTLS_PLATFORM_SNPRINTF_MACRO) &&\
     ( defined(MBEDTLS_PLATFORM_STD_SNPRINTF) ||\
         defined(MBEDTLS_PLATFORM_SNPRINTF_ALT) )
-#error "MBEDTLS_PLATFORM_SNPRINTF_MACRO and MBEDTLS_PLATFORM_STD_SNPRINTF/MBEDTLS_PLATFORM_SNPRINTF_ALT cannot be defined simultaneously"
+#error "MBEDTLS_PLATFORM_SNPRINTF_MACRO and MBEDTLS_PLATFORM_STD_SNPRINTF/MBEDTLS_PLATFORM_SNPRINTF_ALT/MBEDTLS_PLATFORM_TF_SNPRINTF cannot be defined simultaneously"
 #endif
 
 #if defined(MBEDTLS_PLATFORM_STD_MEM_HDR) &&\