Default behavior changes
   * In TLS clients, if mbedtls_ssl_set_hostname() has not been called,
     mbedtls_ssl_handshake() now fails with
     MBEDTLS_ERR_SSL_CERTIFICATE_VERIFICATION_WITHOUT_HOSTNAME
     if certificate-based authentication of the server is attempted.
     This is because authenticating a server without knowing what name
     to expect is usually insecure.

Security
   * Note that TLS clients should generally call mbedtls_ssl_set_hostname()
     if they use certificate authentication (i.e. not pre-shared keys).
     Otherwise, in many scenarios, the server could be impersonated.
     The library will now prevent the handshake and return
     MBEDTLS_ERR_SSL_CERTIFICATE_VERIFICATION_WITHOUT_HOSTNAME
     if mbedtls_ssl_set_hostname() has not been called.
     Reported by Daniel Stenberg.
