Update severl maven properties so that 'mvn site' succeeds

The parent pom provides outdated versions of the dependency plugin,
the enforcer plugin, the project-info-reports plugin, and the site
plugin.  This overrides those outdated versions with the most current
versions, along with a big comment that will remind us to remove the
override if the parent ever updates to newer versions.
Add functionality for managing refs through the GitClient interface.

It mimics the functionality available for git tags: creation, existence-testing,
deletion, and lookup. It also mimics the behavior: names have spaces replaced
with underscores, creation and update are combined into a single forced
operation, and refs will refer to HEAD.

Unlike tags, refs are bare-boned, and do not include any attached message.
Update findbugs jsr305 dependency to latest (3.0.0)
Add latest Debian Testing git version string

String is "git version 2.0.1"
Handle git version string from msysgit as special case
[Fixed JENKINS-21806] Improve ssh.exe finding on Windows with msysgit

Adapt to msysgit installed in non-default locations, and to msysgit
alternative configurations as allowed by the msysgit installer.  The
mssygit installer allows the user to choose to make no changes to the
PATH, or to add the "cmd" directory to the PATH, or add the "bin"
directory to the PATH.

If the user chooses to make no changes to the PATH, then they
configure their Jenkins git with the absolute path of the git
executable.

If the user chooses to add the "cmd" directory to the PATH, then they
configure their Jenkins git with the executable as "git", "git.exe",
or (with some msysgit versions) "git.cmd".

If the user chooses to add the "bin" directory to the PATH, then they
configure similarly to the "cmd" directory case.

The plugin attempts to handle all those cases correctly.

Special thanks to Thiago Zanetti for providing the original code for
this fix.
[maven-release-plugin] prepare release git-client-1.9.2
[maven-release-plugin] prepare for next development iteration
Fixed ambiguous ls-remote with refs/heads/...

This is the smallest possible change to solve the
issue of CI builds being triggered again and again.
ls-remote will always be definite when "refs/heads/<branchName>"
is used as branchSpec.

All other issues tried to solve with Pull Request
https://github.com/jenkinsci/git-client-plugin/pull/129
are still open. But using refs/heads/ would already solve
the CI issue.
Added tests, refactored and improved branch spec normalization
Fixed refs/remotes/ handling

...and refs/tags/ (to be discussed - but does not harm).
Fixed ambiguous ls-remote with refs/heads/...

This is the smallest possible change to solve the
issue of CI builds being triggered again and again.
ls-remote will always be definite when "refs/heads/<branchName>"
is used as branchSpec.

All other issues tried to solve with Pull Request
https://github.com/jenkinsci/git-client-plugin/pull/129
are still open. But using refs/heads/ would already solve
the CI issue.
Added tests, refactored and improved branch spec normalization
Fixed refs/remotes/ handling

...and refs/tags/ (to be discussed - but does not harm).
Do not change name of protected method
Remove a purely whitespace modifying change
Update LegacyCompatibleGitAPIImpl compatibility comments

The LegacyCompatibleGitAPIImpl behaviors need to be retained so that
we don't break legacy use models.
Merge pull request #137 from nickgorski/master

Add functionality for managing refs through the GitClient interface.
Update test expectation for recent proxy related code changes
Remove some unnecessary whitespace changes added since 1.9.2