[JENKINS-21434] Git Client 1.5.0+ does not resolve reference
repositories correctly (anymore)

- Check for existance of objects directory in reference dir.
- handle bare reference repositories
- replace backslashes with slashes for windows systems
Merge pull request #74 from pauxus/reference-fix

[JENKINS-21434] Git Client 1.5.0+ does not resolve reference
Add MIT license to pom.xml
Merge pull request #75 from vaneyckt/patch-1

Add MIT license to pom.xml
fixed JENKINS-21116
Merge pull request #76 from CoreMedia/JENKINS-21116

fixed JENKINS-21116
Test cases related to JENKINS-21434 - alternates file wrong content

Checks that cloned copies have the alternates file with expected
content when the clone is performed with a reference repository, and
that cloned copies do not have the alternates file when clone does not
use a reference repository.
Merge pull request #77 from MarkEWaite/master-test-JENKINS-21434-fixed

Test cases related to JENKINS-21434 - alternates file wrong content
Test clone from bare repo, referencing a working directory

Reported on the Jenkins mailing list, fixed by
b6473d636f9f8f00f954ef294cfd5ed296b6a738
Merge pull request #78 from MarkEWaite/master-add-referenced-working-dir-in-clone

Test clone from bare repo, referencing a working directory
Add test that working directory is as expected for test success

Some of the GitAPITestCase tests need to copy a git repository.  This
test asserts that a git repository is available directly in the
expected location in the working directory of the build.

Also adds a test of a rev-parse exception case
Merge pull request #79 from MarkEWaite/master-add-SRC_DIR-location-test

Add test that working directory is as expected for test success
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.