Autopin as a daemon

This is a bigger change, but most functionality for running autopin+ as a daemon is there!

Changes:

-- Using spdlog for logging

-- Can now be run as a daemon with the -d commmandline switch

-- Completely changed error handling, so the application is more robust

-- Unix signal handling is now handled in SignalDispatcher

-- No std::shared_ptr anymore :)

-- Regression: TraceThread won't work and will probably crash the
   application!!!
Please add a short comment above why this is mutable. And please add a TODO that the mutex should be removed at a later date.