promise/plugin: Add check_socket_listening promise
This promise generalizes the check_port_listening promise to include AF_UNIX sockets in addition to AF_INET and AF_INET6 host/port sockets.
The socket family and address is deduced from the set of arguments:
-
host&port: AF_INET or AF_INET6 -
pathname: filesystem pathname address for AF_UNIX -
abstract: '\0' is prefixed to build an abstract AF_UNIX address
All other combinations of arguments are forbidden.
The promise creates a socket accordingly and attempts to connect to the provided address. The promise fails if the connection fails.
The check_port_listening promise now inherits from this implementation.