update TODO
man: fix references to systemctl man page which is now in section 1

https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=760613
hwdb: Update database of Bluetooth company identifiers
bus: factor out bus policy items

In order to re-use the policy definitions, factor them out into their own
files.
bus: add kdbus endpoint types

Add types to describe endpoints and associated policy entries,
and add a BusEndpoint instace to ExecContext.
bus: add code to create custom endpoints and set their policy

Custom endpoints are alternative connection points to a bus, allowing
specific policy to be uploaded.

Add two functions to bus-kernel. One to create such endpoints, and another
one for setting a policy for them.
bus: parse BusPolicy directive in service files

Add a new directive called BusPolicy to define custom endpoint policies. If
one such directive is given, an endpoint object in the service's ExecContext is
created and the given policy is added to it.
namespace: add support for custom kdbus endpoint

If a path to a previously created custom kdbus endpoint is passed in,
bind-mount a new devtmpfs that contains a 'bus' node, which in turn in
bind-mounted with the custom endpoint. This tmpfs then mounted over the
kdbus subtree that refers to the current bus.

This way, we can fake the bus node in order to lock down services with
a kdbus custom endpoint policy.
exit-status: add new exit code for custom endpoint errors
service: hook up custom endpoint logic

If BusPolicy= was passed, the parser function will have created
an ExecContext->bus_endpoint object, along with policy information.

In that case, create a kdbus endpoint, and pass its path name to the
namespace logic, to it will be mounted over the actual 'bus' node.

At endpoint creation time, no policy is updloaded. That is done after
fork(), through a separate call. This is necessary because we don't
know the real uid of the process earlier than that.