Add creating a LaunchDaemon (not pretty).

And a couple of other things that were forgotten. Took forever, but it actually works! (mostly)