func LoadAndUpdateFile(path string, data interface{}) error
LoadAndUpdateFile reads the config fileat path and
updates it, meaning that it adds new options, removes
old ones, and update it by calling the Update method of
data if it implements the interface Updater.
If no file is found at path, it is created and
initialized with the default values.
An error is returned only if the config file cannot be
written.
Updater is the interface that can be implemented by
config structs. If it is implemented, Update() is
called by LoadAndUpdateFile(). It allows one to modify
the data and persist those changes, for example to
change default values.