watchdog: add support for systemd watchdog

Add interfaces and handling for systemd watchdog petting.

Systemd service files can specify a watchdog timeout and systemd will
expect the application to periodically poke a software watchdog, or
else the service will be restarted.  This is enabled with the
'WatchdogSec=' service file directive.  Add primitives for
interacting with the watchdog APIs.

Enable automatic support in the `async::context` for this watchdog
handling, such that if the watchdog is required (by checking
sd_watchdog_enabled) the daemon will automatically pet at the
appropriate rate, assuming that the `async::context` is functioning
correctly.

Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
Change-Id: I68caf7b2c7166ca402b07ecee3db65f75365aa72
diff --git a/test/meson.build b/test/meson.build
index 4fe9b15..300c3bc 100644
--- a/test/meson.build
+++ b/test/meson.build
@@ -24,6 +24,7 @@
     'async/task',
     'async/timer',
     'async/fdio',
+    'async/watchdog',
     'bus/exception',
     'bus/list_names',
     'bus/match',