Config helpers for global/xdg config files

The GH:mac chaps were complaining that it's awkward to write to the global configuration if it doesn't exist yet. Have the repo open and `open_default` functions always create a backend for the global config (and local one as a side-effect, which we also want).

Also add `git_config_open_global` to open the global or XDG file according to git rules. It's not a great name, though, as it introduces assymetry with `git_config_find_global` so suggestions for a better name are welcome.