Let users override only options they care about.

Without this change, the user-provided config file has to contain *all* settings, not just the ones the user cares about. With this change, we start with the defaults, and override them with the user-provided config file contents (if any).