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 use
= delete;
instead of making the constructor/function private without an implementation.