git: add lib to configure local git repo

Use cases:

* Discover the repo root

* Provide settings in .repo/config that get merged into .git/config.
  For example, you may want to set an upstream URL that gets added
  to .git/config.

New unit tests:

    spec/fixtures
      source.ini has the expected content
      target.ini has the expected content

    JumanjimanSpecHelper::Git
      repo_root
        is an absolute path
        contains .git dir
      git_config_path
        is an absolute path
        returns path to .git/config
      repo_config_path
        is an absolute path
        returns path to .repo/config
      config_data(path)
        returns nil if path does not exist
        returns ini data if path exists
      update_git_config
        when .repo/config does not exist
          does not change .git/config
        when .repo/config exists
          modifies .git/config
          adds keys to .git/config
          overrides keys in .git/config
          substitutes 'REPO_ROOT' with real repo_root
          preserves keys in .git/config that are not in .repo/config

Signed-off-by: Paul Morgan <jumanjiman@gmail.com>
repo config: add minimal settings

Provide a minimal configuration that is applied to the local
git repo, overriding user-default personal preferences. This
is not a dumping ground; it's intended to provide consistency.

The upstream remote should use either https or git protocol
(not ssh) to ensure that continuous integration tools do not
need special configuration. This is a public repo; strong
authentication should not be needed for CI.

New unit test:

    .repo/config
      does not use ssh for upstream remote