Fix for issue GPII-8

GSettingsHandler appears to core dump when trying to set a non-existent
key in a schema (see http://issues.gpii.net/browse/GPII-8)

The problem is that Gio.Settings segfaults when requesting a
non-existent key from a gsettings schema.

This fix checks if the setting matches with the gsettings schema before
each set/get.
Merge remote-tracking branch 'javihernandez/GPII-8' into GPII-8
GPII-8 Adding unit test for fix.