Transitions gtk-window-decorator over to use GSettings.
Add a testing framework for the options code.
1) Introduced three new interfaces (GWDSettingsNotifiedInterface, GWDSettingsWritableInterface, GWDSettingsInterface, GWDSettingsStorageInterface
2) GWDSettingsStorageInterface represents the actual method for settings to be read from a configuration backend, eg GSettings or GConf
3) GWDSettingsWritableInterface is injected into GWDSettingsStorageGConf and GWDSettingsStorageGSettings, and its methods are called when changes occur on the backend
4) GWDSettings is the main object for storing all settings in memory and provides an interface for them being written into
5) GWDSettingsNotifiedInterface provides a callback mechanism for GWDSettings to update the main program state whenever a setting changes.
Fixes (LP: #1042323). Fixes: https://bugs.launchpad.net/bugs/1042323. Approved by Daniel van Vugt, jenkins.