[BUG] multiple calls to setModuleDefaults apply in the incorrect order
Because of the way we do the merge as a cumulative affair, a person might expect setModuleDefaults to treat these two as somewhat equivalent:
Config.util.setModuleDefaults("a.b", settings1);
Config.util.setModuleDefaults("a.b", settings2);
// Expected behavior:
let defaults = Config.util.extendDeep(settings1, settings2, Config.get("a.b"));
But because of the way the merges are handled, this is what you actually get:
let defaults = Config.util.extendDeep(settings2, settings1, Config.get("a.b"));
I don't see a particularly good way to solve this, short of fixing the diffDeep function and yuck. So maybe that does recommend the solution in #670 of simply denying duplicate calls.
See also #226