Perform DANE-EE(3) name checks by default

In light of potential UKS (unknown key share) attacks on some
applications, primarily browsers, despite RFC761, name checks are
by default applied with DANE-EE(3) TLSA records.  Applications for
which UKS is not a problem can optionally disable DANE-EE(3) name
checks via the new SSL_CTX_dane_set_flags() and friends.

Reviewed-by: Rich Salz <rsalz@openssl.org>
diff --git a/include/internal/dane.h b/include/internal/dane.h
index 65bf244..a1cb548 100644
--- a/include/internal/dane.h
+++ b/include/internal/dane.h
@@ -57,6 +57,7 @@
     const EVP_MD  **mdevp;      /* mtype -> digest */
     uint8_t        *mdord;      /* mtype -> preference */
     uint8_t         mdmax;      /* highest supported mtype */
+    unsigned long   flags;      /* feature bitmask */
 };
 
 /*
@@ -71,6 +72,7 @@
     uint32_t        umask;      /* Usages present */
     int             mdpth;      /* Depth of matched cert */
     int             pdpth;      /* Depth of PKIX trust */
+    unsigned long   flags;      /* feature bitmask */
 };
 
 #define DANETLS_ENABLED(dane)  \