Allow tracking submodules.

Git>=1.8.2 allows the ability for submodules to track the tip of a branch
versus using just a single SHA-1 for the submodule, and this commit allows
that for the CliGitAPIImpl.  JGitAPIImpl just gets a "not implemented".
Test case for updating a tracking submodule
Test for trackingSubmodules requires >=1.8.2

Make sure that we have the required version level for tracking submodules.
Only add --remote if git is >= 1.8.2

git submodule update --remote will only work for versions of git >= 1.8.2.
So, force check it here.  If it's not the version expected, then we won't
be able to do the update properly and the using project will have to update
the SHA-1 in it's .git/config for this module to get the latest changes.  So,
basically, if not 1.8.2, default back to original behaviour.
Allow tracking submodules.

Git>=1.8.2 allows the ability for submodules to track the tip of a branch
versus using just a single SHA-1 for the submodule, and this commit allows
that for the CliGitAPIImpl.  JGitAPIImpl just gets a "not implemented".
Test case for updating a tracking submodule
Test for trackingSubmodules requires >=1.8.2

Make sure that we have the required version level for tracking submodules.
Only add --remote if git is >= 1.8.2

git submodule update --remote will only work for versions of git >= 1.8.2.
So, force check it here.  If it's not the version expected, then we won't
be able to do the update properly and the using project will have to update
the SHA-1 in it's .git/config for this module to get the latest changes.  So,
basically, if not 1.8.2, default back to original behaviour.
New SubmoduleUpdateCommand, like CheckoutCommand
Merge branch 'trackingSubmodules' of https://github.com/dbroady1/git-client-plugin into trackingSubmodules

Conflicts:
	src/main/java/org/jenkinsci/plugins/gitclient/CliGitAPIImpl.java
	src/main/java/org/jenkinsci/plugins/gitclient/GitClient.java
	src/main/java/org/jenkinsci/plugins/gitclient/JGitAPIImpl.java
	src/main/java/org/jenkinsci/plugins/gitclient/RemoteGitImpl.java
Fix comment, per Mark's suggestion.
Fix the version check with msysgit

With v1.9.0, msysgit put the packaging info like  1.9.0.msysgit.0, instead
of 1.9.0.0.msysgit.0, like I expected.  Now, we'll make it work, even if
they do something like 2.msysgit.0 or 2.0.msysgit.234.asdf.
Make formatting match rest of file
Make isAtLeastVersion package visible

Make isAtLeastVersion package visible so that it can be tested properly.  To
test this method properly, we need a new method (computeGitVersion) to force
the internal Git version to test various different versions.  Inspiration by
MarkEWaite/git-client-plugin/13879a5.

Also, since isAtLeastVersion is now package visible, we can get rid of the
copy of version code in GitAPITestCase and use this method.
Make sure we test correctly we are >=1.8.2

During refactor of last commit, I missed the logical test.  This fixes it.
Merge pull request #122 from dbroady1/trackingSubmodules

Allow tracking submodules.