Feature: libcrmcommon: crm_ipc_read can receive large IPC messages.
This function is used on the receive end of an IPC connection to read
server events. These are async, out-of-band messages from the IPC
server in response to some request.
Everywhere that crm_ipc_read is called, it's called in a loop to read
events until there are none left to read. This works well for split up
IPC messages - crm_ipc_read can be extended to just examine the event it
read and append it to the in-progress buffer if it's a multipart IPC
message.
This also means that callers should be handling the possibility of
receiving EAGAIN from crm_ipc_read, which is definitely not the case
everywhere in our IPC code.