Extracted method getBranchesContaining() into GitClient to be used in Git plugin
Merge pull request #148 from pbaranchikov/getBranchesContaining

Extracted method getBranchesContaining() into GitClient to be used in Gi...
Adapt number of credentials tests executed based on system performance

Faster systems can run more tests in the same amount of time, so allow them
to run more tests, while the slower systems run fewer tests. Should increase
the chances that each authentication test is run at least once in the 
multi-configuration job.
Revert "Adapt number of credentials tests executed based on system performance"

This reverts commit 14bc4f381a2299aa7052a4d396185c5d8ab4b87b because
there is not enough benefit from the added complexity compared to
the tests which existed before.
ls-remote to lookup references in a remote repository

List references, like heads or tags, in a remote repository
without depending on a locally cloned workspace.

The git-parameter plugin lists branches or tags on a local
cloned workspace, so it doesn't work on the first build or
if user wipes out workspace.

If user only wants a tag name with its commit id, there is
no need to clone the whole repository.
Merge pull request #150 from yestin/master

ls-remote to lookup references in a remote repository
Allow reference repositories for JGit as well.

While JGit Clone and Init commands do not support a reference argument
directly, the same result can be reached using JGit API directly, by
separating clone into a creation step using the repository builder and a
regular fetch.
Fixed tests.
Merge branch 'jgit-references' of https://github.com/pauxus/git-client-plugin into master-pauxus-jgit-references
Enable test_branchContainingRemote - broken by changes, needs work

Also removed the ugly adaptCliGitClone method, replacing it with the
more direct, and more clear "git.checkout()" call.
Merge pull request #1 from MarkEWaite/master-pauxus-jgit-references

Test simplification and more
Adjusted JGit checkout to match CliGit.

Now if the checkout ref is a simple branch name, and no local branch
exists and there is exactly ONE remote branch with that name, a new
local branch is created and checked out, tracking that remote branch.
(Re-)activated 'shared' clones.

Shared now works as a special case of references.

Fixed test for JENKINS-20153
JGit ignored the references settings when reusing the repo.

- Expanded test to check for actual usage of references (i.e. no objects
in the cloned repo)
- applied a workaround for JGit behaviour
Added tags option to Push Command
PushComman.tags() now takes a boolean argument
Added tests to verify that tags are actually pushed.
Include default PushCommand test in existing test
Merge pull request #151 from pauxus/jgit-references

[JENKINS-25387] Allow reference repositories for JGit as well.
Specify file content encoding to PrintWriter - fix new findbugs warning
Merge branch 'master' into master_ialbors

Conflicts:
	src/main/java/org/jenkinsci/plugins/gitclient/JGitAPIImpl.java