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!
env-util: don't include files from src/core/
import: fix compiler warning
condition: don't include files from src/core
sd-bus: teach x-container-unix: bus protoocol to connect to the namespace of a PID instead of a container name
machined: add new call OpenMachineLogin() that starts a getty in a container on a pty and returns the pty master fd to the client

This is a one-stop solution for "machinectl login", and should simplify
getting logins in containers.
machinectl: rework 'machinectl login' to use OpenMachineLogin()
update TODO
build-sys: move core/build.h → shared/build.h

After all, pretty much all our tools include it, and it should hence be
shared.

Also move sysfs-show.h from core/ to login/, since it has no point to
exist in core.
bus: add missing bus-policy.[ch]

Accidentally forgot to commit this. Sorry!