Switch branch of a submodule before update

This feature allows a project to switch the branch of submodule before
the update occurs so that they can test it with the new code of that
submodule's branch.  This is useful if need to build your main project
with 2+ different versions of the submodule, but don't want to setup
different Jenkins projects to do the different submodule builds.

Via command line, it does the following:
   git config -f .gitmodules submodule.<submodName>.branch <value>
for each submodule that you configure, before doing the 'remoteTracking' update of
   git submodule update --init --update --remote