Renamed the Settings class to Config

A config should be read on start and writen on shutdown. It shoudn't
be a place to enable a specific feature.

At the moment polling and other features are enabled by changing a
config value. This isn't a great way of doing it. This is a start
in improving the way of saving settings.
Added a interface that can be used by classed that can be enabled
Let the data queue implement the activatable interface
Created a functionality manager that can enable and disable classes
that extend Activatable
Added the functionality manager as dependency to the preference screen
Fixed the data queue the enabled states where turned around
The Unity integration now depends on the functionality manager
Added some logging to the functionality manager
Created a property for the functionality manager
Moved the data queue to the functionality manager for enabling and disabling
Moved the functionality manager to the app class
Moved the polling enable and disable to a activatable class
Extra check in Unity integration when setting the sync menu state
Added listener support to the functionality manager
Removed the settings listener from the unity integration
Changed the last polling enabled check from the settings to the functionality manager in the unity integration
Deprecated the old abstract ui
Created the basic structure of a user interface implementation class
Removed all references to the PreferencesDialog and replaced it with the settings ui
Moved the about dialog to the user interface implementation structure