MEDIUM: move listener->frontend to bind_conf->frontend

Historically, all listeners have a pointer to the frontend. But since
the introduction of SSL, we now have an intermediary layer called
bind_conf corresponding to a "bind" line. It makes no sense to have
the frontend on each listener given that it's the same for all
listeners belonging to a same bind_conf. Also certain parts like
SSL can only operate on bind_conf and need the frontend.

This patch fixes this by moving the frontend pointer from the listener
to the bind_conf. The extra indirection is quite cheap given and the
places were this is used are very scarce.
diff --git a/src/session.c b/src/session.c
index d962400..f984c7b 100644
--- a/src/session.c
+++ b/src/session.c
@@ -115,7 +115,7 @@
 int session_accept_fd(struct listener *l, int cfd, struct sockaddr_storage *addr)
 {
 	struct connection *cli_conn;
-	struct proxy *p = l->frontend;
+	struct proxy *p = l->bind_conf->frontend;
 	struct session *sess;
 	struct stream *strm;
 	struct task *t;