[BUG] deinit: unbind listeners before freeing them

In deinit(), it is possible that we first free the listeners, then
unbind them all. Right now this situation can't happen because the
only way to call deinit() is to pass via a soft-stop which will
already unbind all protocols. But later this might become a problem.
diff --git a/src/haproxy.c b/src/haproxy.c
index 3ceb398..2298ee1 100644
--- a/src/haproxy.c
+++ b/src/haproxy.c
@@ -813,6 +813,8 @@
 		l = p->listen;
 		while (l) {
 			l_next = l->next;
+			unbind_listener(l);
+			delete_listener(l);
 			free(l->name);
 			free(l->counters);
 			free(l);