kdbus: drop *_MSG_* from ioctl names

Now that we're about to introduce "struct kdbus_cmd_send" it seems rather
inconsistent to not name IOCTLs and their payloads the same. We never used
the *_MSG_* part (like KDBUS_CMD_MSG_SEND) anywhere but in the ioctl name.
Drop it now.

Signed-off-by: David Herrmann <dh.herrmann@gmail.com>
kdbus: add items to kdbus_cmd_recv

We use items as CMD extensions everwhere except on CMD_RECV. This is
pretty inconsistent. Add them now so we can later support things like
additional filters, timeouts and more.

Signed-off-by: David Herrmann <dh.herrmann@gmail.com>
kdbus: add generic kdbus_reply object

Once we convert CMD_SEND to use kdbus_cmd_send, we have two ioctls that
can return messages. Make sure we're consistent and use the same storage
for both. Introduce kdbus_reply as sub-object which contains all fields
with information about the returned message.

Signed-off-by: David Herrmann <dh.herrmann@gmail.com>
tools: fix kdbus monitor

Several fixes:
 - adapt to "new" CMD_FREE
 - use new CMD_RECV

Signed-off-by: David Herrmann <dh.herrmann@gmail.com>
kdbus: introduce kdbus_cmd_send

This introduces a new payload for KDBUS_CMD_SEND. Instead of passing the
message directly, we now split between messages and commands. This allows
us to drop several wrongly placed control fields from kdbus_msg and move
them into kdbus_cmd_send.

Signed-off-by: David Herrmann <dh.herrmann@gmail.com>