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!!!
Is this function actually being called? If yes, please be more descriptive in the comment, as for now it looks like singleton with a public constructor, which does not make any sense to me...