Nil default values preferred implementation

@beatrichartz Integrating this change into Volt, realized the other PR's version has some unfortunate side effects by eagerly creating the configuration as soon as the setting is initialized...  I think this version is preferable, as in Volt, our defaults block has a method that's not defined if it gets called too early in file loading, but it's also a slightly bigger change...  welcome your input or preferred changes, I'm going to close that PR I think, but it's #3 if you want to compare.