Support Running as A System Service
We should support running with systemd - this involves
- Creating a unit (config) file for systemd - actually we will have a few depending on the server type
- Register with systemd notify call when we launch - this can be a replacement for current fork+exec daemon approach (but that can stay as handy for testing/Mac)
- Adding a syslog logger with spdlog - it is one of their built-ins, we would only toggle it on with systemd launch.
- Adding some E2E tests - won't work in Docker containers but that's ok.