Add org.freedesktop.systemd1.Manager Version property

This is not an official API, but some programs like KDE's powerdevil query it
anyway.

http://bugs.debian.org/766237
Add some debugging for Start/StopUnit()
Implement org.freedesktop.systemd1.Unit ActiveState property

This is e. g. called by logind when receiving an UnitRemoved signal to get the
session scope status. Hardcode a value of "inactive" which is probably wrong
for other use cases, but right for logind session clean up. Proper state
keeping would require implementing the status in subclasses, but let's get to
that when we actually need it.
Send UnitRemoved signal

If a unit gets removed, send out an UnitRemoved(name) signal. This is important
for logind to clean up sessions after closing them.

Note that this is not sufficient by itself: Nothing currently sends the
StopUnit call (this needs to be triggered by a cgroup's notify_on_release
handler).

Prerequisite for https://bugs.debian.org/756076
Clean up closing logind sessions

Stopping a logind session via org.freedesktop.login1.Manager.ReleaseSession()
keeps the logind session in state "closing" until it gets told that the cgroups
have been emptied and cleaned. So enable notify_on_release for our cgroup units
and install a new "systemd-shim-cgroup-release-agent" which calls StopUnit()
and then chain-runs cgmanager's original release agent.

This makes logind actually clean up the sessions and remove automatic device
ACLs.

https://bugs.debian.org/756076