[MINOR] add a generic unbind_all_listeners() primitive

Most protocols will be able to share a single unbind_all_listeners()
primitive. Provide it in protocols.c.
diff --git a/include/proto/protocols.h b/include/proto/protocols.h
index c5efd0c..cd54ec8 100644
--- a/include/proto/protocols.h
+++ b/include/proto/protocols.h
@@ -58,6 +58,12 @@
  */
 int unbind_listener(struct listener *listener);
 
+/* This function closes all listening sockets bound to the protocol <proto>,
+ * and the listeners end in LI_ASSIGNED state if they were higher. It does not
+ * detach them from the protocol. It always returns ERR_NONE.
+ */
+int unbind_all_listeners(struct protocol *proto);
+
 /* Delete a listener from its protocol's list of listeners. The listener's
  * state is automatically updated from LI_ASSIGNED to LI_INIT. The protocol's
  * number of listeners is updated. Note that the listener must have previously