MINOR: listeners: split do_unbind_listener() in two

The inner part now goes into the protocol and is used to decide how to
unbind a given protocol's listener. The existing code which is able to
also unbind the receiver was provided as a default function that we
currently use everywhere. Some complex listeners like QUIC will use this
to decide how to unbind without impacting existing connections, possibly
by setting up other incoming paths for the traffic.
diff --git a/src/proto_uxst.c b/src/proto_uxst.c
index 7741586..04f12fa 100644
--- a/src/proto_uxst.c
+++ b/src/proto_uxst.c
@@ -59,6 +59,7 @@
 	.listen = uxst_bind_listener,
 	.enable = uxst_enable_listener,
 	.disable = uxst_disable_listener,
+	.unbind = default_unbind_listener,
 	.rx_enable = sock_enable,
 	.rx_disable = sock_disable,
 	.rx_unbind = sock_unbind,