build-sys: allow building systemctl with --disable-logind

When logind is disabled, do not attempt to link against the non-existing
libsystemd-login-internal.la library.
service: remove unneccesary Socket.got_socket_fd
bus: when replying to an incoming message and the vtable contains the expected return signature generate an error if the response message doesn't match it
bus: be nice to LLVM and don't embedd a VLA in a union
Display synthetic message serial number in a more readable format than (uint32_t) -1

Serial=4294967295 field in message dump generated by bus_message_dump()
function for synthetic messages isn't good readable.
busctl: add command to dump creds of a peer or pid

(also, rename _SD_BUS_CREDS_MAX to _SD_BUX_CRED_ALL, since "MAX" so far
was used to indicate one higher than the highest valid value, and this
is not correct here.)
nspawn: make kdbus namespaces actually work
nspawn: make sure /dev/kdbus in the container is world accessible
libsystemd-bus: catch up with latest kdbus changes
Use assert_return in more of the public API
macro: add a macro to test whether a value is in a specified list

Introduce IN_SET() macro to nicely check whether a value a is one of a
few listed values.

This makes writing this:

        if (a == 1 || a == 7 || a == 8 || a == 9)

nicer, by allowing this:

        if (IN_SET(a, 1, 7, 8, 9))

This is particularly useful for state machine enums.
core: extra paranoia when deserializing kdbus fd
bus: make sure we check for "incompatible" flags negotiated with kernel kdbus
bus: add .busname unit type to implement kdbus-style bus activation
bus: add generator that turns old dbus1 activation files into .busname + .service units
units: install busnames.target by default
bus: skip unit file generation for systemd itself
dbus1: hook busnames.target into normal boot if kdbus is enabled
units: create busnames.target for user sessions too
libsystemd-bus: catch up with latest kdbus changes