sd-bus: sync kdbus.h (ABI break)

Sync kdbus.h with upstream changes:

  * Two optional cancellation points where added for synchronously
    blocking KDBUS_CMD_SEND commands: A sigmask to change the mask
    of accepted signals before the task is put to sleep, and a
    generic file descriptor that can be written to, in order to cancel
    the command. Both methods are currently unused.

  * The KDBUS_CMD_CANCEL ioctl was removed. sd-bus was never using
    that command, so there's no change needed.

  * Some kerneldoc fixes
hwdb: Lenovo USB mouse MO28UOL DPI data

https://bugs.freedesktop.org/show_bug.cgi?id=87504
verbs: fix typo in error message
busname: fix CMD_FREE ioctl

The KDBUS_CMD_FREE ioctl struct has a size field now, which needs to be set.
sd-bus: ignore KDBUS_ITEM_TIMESTAMP in kernel messages

Kernel notifications carry a timestamp now, so make sure
bus_kernel_translate_message() doesn't complain when it stumbles across
them.
shared: utf8 - support ucs4 -> utf8

Originally we only supported ucs2, so move the ucs4 version from libsystemd-terminal to shared
and use that everywhere.
shared: utf8 - support decoding the full utf16

We originally only supported the BMP (i.e., we treated UTF-16 as UCS-2).
shared: json - support escaping utf16 surrogate pairs

We originally only supported escaping ucs2 encoded characters (as \uxxxx). This
only covers the BMP. Support escaping also utf16 surrogate pairs (on the form
\uxxxx\uyyyy) to cover all of unicode.
import: rename 'poll-dck' to 'pull-dkr'

I figure "pull-dck" is not a good name, given that one could certainly
read the verb in a way that might be funny for 16year-olds. ;-)

Also, don't hardcode the index URL to use, make it runtime and configure
time configurable instead.
run: add a new "-t" mode for invoking a binary on an allocated TTY
machinectl,nspawn: don't print extra final newline if pty terminal output was newline-terinated anyway
systemd-run: add --quiet mode to suppress informational message on TTY usage
machined: add OpenMachinePTY() bus call for allocating a PTY device within a container

Then, port "machinectl" over to make use of it.
systemd-run: support -t mode when combined with -M

For that, ask machined for a container PTY and use that.
nspawn,pty: port over to new ptsname_malloc() helper
util: add allocation loop to gettyname_malloc()
update TODO
bus-proxyd: handle -ESRCH and -ENXIO gracefully

Messages to destinations that are not currently owned by any bus connection
will cause kdbus related function to return with either -ENXIO or -ESRCH.

Such conditions should not make the proxyd terminate but send a sane
SD_BUS_ERROR_NAME_HAS_NO_OWNER error reply to the proxied connection.
bus-proxyd: ignore errors from sd_bus_creds_get_well_known_names()

sd_bus_creds_get_well_known_names() fails with -ENODATA in case the
message has no names attached, which is intended behavior if the
remote connection didn't own any names at the time of sending.

The function already deals with 'sender_names' being an empty strv,
so we can just continue in such cases.
core: rearrange code so that libsystemd/sd-bus/ does not include header files from core

Stuff in src/shared or src/libsystemd should *never* include code from
src/core or any of the tools, so don't do that here either. It's not OK!