install ntp-units.d file

Older timedated used to assume 'ntpd.service' if it could not find any
files in ntp-units.d, so we implemented this unit file in systemd-shim.

Newer timedated treats the absence of files in this directory as an
indication that no ntp service is available.  Let's install a file there
to get things working again.
systemd-shim 2
Define a proper Unit interface for NTP

Make Unit into a GObject and create an NtpUnit that is a subclass of it.
Define all points of interaction as virtual functions on Unit.
Rename gsd-datetime-mechanism-debian.c to ntp-unit

This is just a subclass of Unit now, so name it like that.
Simplify ntp-unit.c

Make quite a lot of simplifications to ntp-unit.c

Clean up the naming of the functions to include ntp_unit_.

Remove lots of wrapping that only made sense before the Unit API.

Remove error handling code because we were just ignoring the error
results anyway.

Clean up our use of 'magic' filenames by making our use of macros for
these files more consistent.

Use rename() instead of calling system("mv").
Add a 'power' unit

This unit responds to logind's attempts to poweroff, reboot, hibernate
and suspend.

Take care to note when a reboot or shutdown is requested and ignore
suspend/hibernate requests that follow this (to avoid the problem of
suspending when someone closes the lid after initiating a poweroff).

We also introduce a bit of a dirty hack here: if a suspend is requested
within 1 second of waking up from the previous suspend, ignore it.  This
should help deal with the "double suspend" issues we sometimes see.
Send 'JobRemoved' signal

We should be sending these when starting jobs, but it didn't matter for
timedated.  Now that we are interacting with logind we need to step up
our game a bit.
systemd-shim 3