MINOR: protocol: do not call proto->unbind_all() anymore

Similarly to previous commit about ->bind_all(), we have the same
construct for ->unbind_all() which ought not to be used either. Let's
make protocol_unbind_all() iterate over all listeners and directly
call unbind_listener() instead.

It's worth noting that for uxst there was originally a specific
->unbind_all() function but the simplifications that came over the
years have resulted in a locally reimplemented version of the same
function: the test on (state > LI_ASSIGNED) there is equivalent to
the one on (state >= LI_PAUSED) that is used in do_unbind_listener(),
and it seems these have been equivalent since at least commit dabf2e264
("[MAJOR] added a new state to listeners")) (1.3.14).
diff --git a/src/protocol.c b/src/protocol.c
index faa6341..84c85d2 100644
--- a/src/protocol.c
+++ b/src/protocol.c
@@ -82,14 +82,14 @@
 int protocol_unbind_all(void)
 {
 	struct protocol *proto;
+	struct listener *listener;
 	int err;
 
 	err = 0;
 	HA_SPIN_LOCK(PROTO_LOCK, &proto_lock);
 	list_for_each_entry(proto, &protocols, list) {
-		if (proto->unbind_all) {
-			err |= proto->unbind_all(proto);
-		}
+		list_for_each_entry(listener, &proto->listeners, proto_list)
+			unbind_listener(listener);
 	}
 	HA_SPIN_UNLOCK(PROTO_LOCK, &proto_lock);
 	return err;