New deprecations
   * Deprecate mbedtls_ssl_conf_max_version() and
     mbedtls_ssl_conf_min_version() in favor of
     mbedtls_ssl_conf_max_tls_version() and
     mbedtls_ssl_conf_min_tls_version().

Features
   * The new functions mbedtls_ssl_conf_max_tls_version() and
     mbedtls_ssl_conf_min_tls_version() use a single value to specify
     the protocol version.
