Fix reference repositories on Windows.

Windows git did not look-up the alternative object directory if the
alternates file ended with \n, this patch simply changes println to
print for that file. That fixed all my issues with alternates.
Add test of deprecated mergeBase method
Require exact match of alternates content

The content of the alternates file (used for reference repositories)
is required to have a precise format on Windows (forward slash
separator and no trailing end of line character).  This test asserts
the alternates file contents are exactly as required, without any
trimming of leading or trailing whitespace.
Merge pull request #80 from tru/fix_alternates_windows

Fix reference repositories on Windows.
Merge pull request #81 from MarkEWaite/master-add-mergeBase-test

Add test of deprecated mergeBase method
Update to JGit 3.2.0
Merge pull request #84 from MarkEWaite/master-new-JGit-version

Update to JGit 3.2.0
Fix JGit getDefaultRemote (deprecated) implementation to match CliGit

Added several tests in the deprecated test methods to assure the
implementations are consistent with one another.

There is a variation between CliGitAPIImpl and JGitAPIImpl ordering
which is handled in the case where more than one remote is defined.
The javadoc for the CliGitAPIImpl says that it returns the first
remote defined, though it seems to actually return the last remote
defined.  The JGitAPIImpl returns the first remote defined so that
it is consistent with the javadoc.
Merge pull request #85 from MarkEWaite/master-fix-JGit-getDefaultRemote

Fix JGit getDefaultRemote (deprecated) implementation to match CliGit
Update dependencies, except Google guava

Updating the Google guava dependency to the latest version (16.0) from
the current version (r9) is a multi-year step in versions and breaks
tests.
Merge pull request #86 from MarkEWaite/master-update-dependencies

Update dependencies, except Google guava
Update guava to 11.0.1 - match the version used by git-plugin

The latest guava version (16.0) causes test failures, so cannot be
used yet.  This version is consistent with the version used by
git-plugin which may avoid silent incompatibilities between the two
plugins.
Fix CliGitAPIImpl.getHeadRev bug - returned same SHA1 for all refs

The getHeadRev(url) implementation in CliGitAPIImpl returned the same
SHA1 for all refs, even though the refs had different SHA1 values in
the output.
Merge pull request #88 from MarkEWaite/master-fix-CliGit-getHeadRev

Fix CliGitAPIImpl.getHeadRev bug - returned same SHA1 for all refs
[FIXED JENKINS-21030]
look for ssh.exe next to known git.exe
Merge pull request #91 from wannessels/master

[FIXED JENKINS-21030]
[JENKINS-20445] [JENKINS-20387] [JENKINS-20750]
Expose timeout for clone and fetch command when using CliGit
Remove unused import from GitAPITestCase
Merge pull request #93 from MarkEWaite/master-remove-unused-test-import

Remove unused import from GitAPITestCase
[FIXED JENKINS-20286] JGit rebuilds on each poll if wildcard in branch name

The JGit implementation of getHeadRev did not process filename wildcards,
while the CliGit implementation did.  That caused JGit polling of remote
repositories (with the JGit form of "git ls-remote") to always report
there were changes if the branch name included a wildcard, even when
there were no changes.