Properly handle multiple values for settings

Fixes an error that would cause values to be duplicated when specifying
multiple values for a setting.

Prior to this commit specifying multiple values for a setting would
blindly replace one occurrence and add the rest, leaving any possible
other occurrences intact. When starting fresh this would not be a
problem, but using it multiple times would add the same settings
repeatedly.

- gitto/config.scm (merge-setting): If the given value is a of type
  `list', replace the `%a' specifier for each item in it.

- gitto/config.scm (merge-settings): Move the handling of the case of
  `v' being a list into `merge-setting'.

- gitto/config.scm (split-setting): Rename `parse-setting' to
  `split-setting'. Return a cons cell instead of a list.

- gitto/config.scm (read-setting): New function.

- gitto/config.scm (read-config): Remove unused variable. Use
  `read-setting' to get the right value for each line of the config
  file.

- gitto/config.scm (write-setting): In case we're dealing with a list,
  print each value separately.