MINOR: ssl_sock: implement ssl_sock_destroy_bind_conf()

Instead of hard-coding all SSL destruction in cfgparse.c and haproxy.c,
we now register this new function as the transport layer's destroy_bind_conf()
and call it only when defined. This removes some non-obvious SSL-specific
code and #ifdefs from cfgparse.c and haproxy.c
diff --git a/src/haproxy.c b/src/haproxy.c
index ef846fe..adffda9 100644
--- a/src/haproxy.c
+++ b/src/haproxy.c
@@ -1466,16 +1466,8 @@
 
 		/* Release unused SSL configs. */
 		list_for_each_entry_safe(bind_conf, bind_back, &p->conf.bind, by_fe) {
-#ifdef USE_OPENSSL
-			ssl_sock_free_ca(bind_conf);
-			ssl_sock_free_all_ctx(bind_conf);
-			free(bind_conf->ca_file);
-			free(bind_conf->ca_sign_file);
-			free(bind_conf->ca_sign_pass);
-			free(bind_conf->ciphers);
-			free(bind_conf->ecdhe);
-			free(bind_conf->crl_file);
-#endif /* USE_OPENSSL */
+			if (bind_conf->xprt->destroy_bind_conf)
+				bind_conf->xprt->destroy_bind_conf(bind_conf);
 			free(bind_conf->file);
 			free(bind_conf->arg);
 			LIST_DEL(&bind_conf->by_fe);