Append appends newConfig to oldConfig and returns the result. Appending one
config to another is accomplished by iterating over every field in the
config structure, appending slices, recursively appending structs, and
overwriting old values with new values for all other types.