Refactor: libcrmcommon: Move the guts of dispatch_ipc_data out on its own.
This allows sharing the code while still preserving the requirement that
dispatch_ipc_data always return 0. The new function is free to return
its own error code, which the caller can choose to use or ignore as
necessary.