git-submodules.sh: Refactor calls to git-config

Replace each occurrence of `git config -f .gitmodules` with a call to function
gitmodules_config(), defined by this patch. The refactor allows us to modify
the usage of git-config by editing a single location: the call in
gitmodules_config().

I accomplished the refactor with:

  sed 's/git config -f .gitmodules/gitmodules_config/g

Signed-off-by: Chad Versace <chad@kiwitree.net>
submodule: Respect includes when parsing .gitmodules file

This adds the ability to maintain a different set of submodules on each branch.

Use Case
========
Suppose Smith has two long-lived branches, 'master' and 'secret', of project
Cheesecake.  The set of submodules in the 'secret' branch is a subset of
submodules in the 'master' branch. Of course, the extra submodules in 'secret'
contain topsecret NSA malware. Smith is not Smith's real name; he is a spy.

This patch enables Agent Smith to easily maintain the two sets of submodules
and merge 'master' into 'secret' without ugly conflicts in the '.gitmodules'
file. The '.gitmodules' file has the contents below:

	$ git cat-file -p master:.gitmodules
	[include]
		path = .gitmodules.d/public

	$ git cat-file -p secret:.gitmodules
	[include]
		path = .gitmodules.d/public
		path = .gitmodules.d/secret

Signed-off-by: Chad Versace <chad@kiwitree.net>
Merge branch 'chadv/submodule-respect-includes'