config: don't write default config file

This created an essentially empty config file. This is not really
needed and probably causes more trouble than it solves (such as
littering the home directory with crap), so get rid of it.
config: add a --config-dir option to force config directory

Useful for slave-mode like uses, and not as radical as --no-config.
manpage: remove unused environment variable

We removed gettext (which was disabled by default) a while ago.
config: always print resolved config paths in verbose mode

Restructure the code to make that easier. There should be no functional
changes, other than the log call at the end of each function.
input: allow input.conf bindings to be declared as builtin

This might be helpful if we ever want cascading config files. Also, we
will probably need it if we change the default input.conf bindings, and
want to provide compatibility input.conf files.
config: don't save options to resume-config that didn't change

This is approximate: we read each option value on program start
(before starting playback of a file), and when writing the resume
config, compare each value to the current state. This also means
when a value is changed and then changed back, it's not stored. In
particular, option values set in config files and on the command
line are considered the default.

This should help reducing the numbers of options overridden by the
resume config. If too much is overridden, it becomes an inconvenience,
because changes in config files will apparently have no effect when
resuming a file.

Also see github issue #574.
config: when writing resume config, read options, not properties

This lowers the number of data stored in the resume config a bit
further, because some properties can't be read at program start and when
e.g. the VO wasn't created yet.

Some fields still need to be read from a property (actually only
"volume-restore-data", a hack to save the full volume information). So
abuse the "options/" property, and make use of the fact that changing
things at runtime also changes the options.
client API: change description of format conversions

This changed during the time between writing the comment, and finishing
up the implementation.

Although I'm still unsure about this.
options: allow changing options at runtime

Allow changing all options at runtime, except some cherry-picked
options, which are disabled with M_OPT_FIXED.