Fix precedence of command line arguments
Previously, when autogenerating the config file, the name of config
itself was included in the YAML contents.
This in turn caused the config file to be re-parsed again and any
command line arguments were overwritten with values from the config
file.
Now the name of config file is not dumped if it is equal to the file
being written, and the config file is not reparsed if it is the same
file.