policy: make policy checks work across user namespaces

Use the global kuid_t and kgid_t to store uid/gid values, this way we
our policy checks will work across user namespaces.

Note that currently we ignore that the user is privileged in its own
namespaces and the policy access kuid_t and kgid_t were mapped into that
namespace. If this is requested we can add it later a la:
fs/inode.c:inode_owner_or_capable()

Add kdbus_policy_make_access() to convert the user provided info to the
current user namespace. Userspace struct is not changed, only the kernel
one.

This patch fixes test #8 of test-kdbus-policy

Signed-off-by: Djalal Harouni <tixxdz@opendz.org>
[daniel: group kdbus_policy_db_entry_access->{uid,gid} in a union]
backport: connection: factor out queue management code to
 queue.c

origial message
Move code that deals with the message queue and its items into queue.c.
This way, we can work towards a cleaner structure and cut down connection.c
which has grown too big.

The sepearation is not really strict at this point, and might see some
more cleanups in the future.

	modified:   Makefile
	modified:   connection.c
	modified:   connection.h
	modified:   handle.c
	new file:   queue.c
	new file:   queue.h
kdbus.txt: kill reference to sd-memfd.h
notify: explictly set payload_type = KDBUS_PAYLOAD_KERNEL
match: don't fail on invalid item types
backport: Mage kdbus.txt modifies.
connection: return -EOPNOTSUPP if the connection has already died
connection: check return value of kdbus_meta_append()
endpoint: cosmetics
connection: reformat
connection: allow wildcard matches for policy holders