systemd: async Start and Stop

Rather than block in the StartUnit and StopUnit calls, replace them
with TriggerStartUnit and TriggerStopUnit which do not wait for the
underlying systemd jobs to complete.
systemd: collapse unexported methods