settings: fix not being able to overwrite the default value of string/addon settings with an empty value

This fixes the problem (that @davilla encountered) that it's not possible to overwrite the default value of a string (or string-derived) setting with an empty value even when
```
<allowempty>true</allowempty>
```
is set.

It however doesn't cover the case where there already is a guisettings.xml with a value for the setting which has its default value overwritten (even if the value is set to the default value) because we can't know if the user specifically set that value or not.