API: libcib: New cib_api_operations_t:client_id() method
When a cib_t object connects to pacemaker-based, it's assigned a unique
client ID by the server. cib_native objects get a single client ID,
cib_file objects get no client ID (they don't connect to the server),
and cib_remote objects get two client IDs: one for asynchronous requests
and one for synchronous requests.
The cib_remote case is the reason for the two output arguments.
Alternatively we could have a bool argument to select which ID to get,
or have separate methods to get sync or async ID. However, that would
require two calls for the remote case if the caller wants both IDs. That
might be acceptable since the caller typically should know the variant
of its CIB client.
The immediate use case is to allow the controller's do_cib_replaced()
function to check whether its CIB client requested the CIB replacement,
versus the request originating elsewhere.
Signed-off-by: Reid Wahl <nrwahl@protonmail.com>