Merge pull request #11 from MarkEWaite/master-JENKINS-11177

Confirm revParse handles ambiguous output - JENKINS-11177
fixed a bit of inefficiency
Resurrected the checkoutBranch method.

For reasons I specified in javadoc, I find methods with more predictable,
robust semantics more useful in the context of Jenkins. For example,
"git checkout branch ref" is too sensitive to whether the branch already
exists or not, and while such sensitivity is probably useful to prevent
human errors from ruining changes, I find them rarely useful for programs.

See git-plugin 543c31940871c85d7d3d09c31b8e321371943480 for example
where git plugin wants this kind of predictable checkout behaviour.
[maven-release-plugin] prepare release git-client-1.0.6
[maven-release-plugin] prepare for next development iteration
Exception when trying to use Git plugin immediately after installing without restart.
selected Git installation does not exists. Using Default
FATAL: 0
java.lang.ArrayIndexOutOfBoundsException: 0
	at hudson.plugins.git.GitTool.getDefaultInstallation(GitTool.java:61)
	at hudson.plugins.git.GitSCM.resolveGitTool(GitSCM.java:824)
	at hudson.plugins.git.GitSCM.getGitExe(GitSCM.java:837)
	at hudson.plugins.git.GitSCM.getGitExe(GitSCM.java:830)
	at hudson.plugins.git.GitSCM.checkout(GitSCM.java:1095)
	at hudson.model.AbstractProject.checkout(AbstractProject.java:1369)
	at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:676)
	at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:88)
	at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:581)
	at hudson.model.Run.execute(Run.java:1576)
	at hudson.maven.MavenModuleSetBuild.run(MavenModuleSetBuild.java:486)
	at hudson.model.ResourceController.execute(ResourceController.java:88)
	at hudson.model.Executor.run(Executor.java:241)
Do not issue a warning if we are simply falling back to the default Git installation because the job did not specify otherwise.
work
[maven-release-plugin] prepare release git-client-1.0.7
[maven-release-plugin] prepare for next development iteration