Allow derived settings to replace previously-defined but non-default settings (#1034)

It remains to update all uses of `DerivedSetting` internally so that they still get created as `DefaultSetting`s, by doing so explicitly.