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.
[JENKINS-20445] [JENKINS-20387] [JENKINS-20750]
Expose timeout for clone and fetch command when using CliGit
[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.
Merge pull request #94 from MarkEWaite/master-fix-JGit-getHeadRev-wildcard-matching

[FIXED JENKINS-20286] JGit rebuilds on each poll if wildcard in branch n...
Add optional findbugs report generation

Generate findbugs XML report with mvn findbugs:check

Includes a findbugs exclude filter file

Uses findbugs maven settings as modeled by Stephen Connolly in the
literate build plugin.
Use @NonNull annotation of getRepository method

Better describes the contract between getRepository and its callers,
and reduces findbugs output by declaring that contract.
Check return value of File.delete, log warning if file not deleted

Logging a warning if a file is not deleted seems safe and will help
locate cases where files are not being properly removed.
Make TIMEOUT and USE_CLI final since they are values of properties
Declare CliGitAPIImpl.launcher transient in case class or subclass is serialized
Remove uncalled private method getGitCredentialsURL(String, String)
Add serialVersionUID to two classes to fix findbugs warnings
Remove unread field from ProgressMonitor implementation

Fix findbugs warning
Fix check_headRev assertions to allow for changes on remote repo

The remote repository is cloned to the local mirror and then the local
mirror is used for most operations.  While the local mirror is being
used, the remote repository may be updated and change its head
revision.  That causes the remote getHeadRev test to fail sporadically
depending on whether the local mirror copy matches the remote.

Rather than have those seemingly random failures, the remote
getHeadRev test has been reworked to use a "git ls-remote" command to
query the remote repository.  The results of that query within the
test are used for the assertions in that test.  That reduces the risk
of test failure to the relatively narrow time window within the
specific test.
Filter the JGitAPIImpl load of known null value warning - findbugs is wrong
Invalid credentials vs. bad hostnames are hard to differentiate right now.  Exposing the stack
trace error to provide more context.
Add bare option to GitAPITestCase init method, use to simplify test_push

The test_push fails on Red Hat Linux 6 because Git 1.7.1 version
behaves different than more recent versions.  Git 1.7.1 reports "You
are on a branch yet to be born" when attempting to checkout a branch
from a freshly initialized git repository.  Checkout of a new branch
on an empty repository is quite a corner case, and there is little
motivation to fix that, since later git versions do not show the same
problem.

Switching test_push to push to a bare repository seems more likely as
a scenario for push testing anywway, since most writers agree that
pushing to a working repository has several problems.
Fix form validation for HTTP-based Git repos by creating a temporary workspace
using the same directory used to store the credentials.
Merge pull request #100 from rogerhu/fix_git_repo_errors_2

Fix HTTP-based credentials issues during form validation.
Merge pull request #99 from MarkEWaite/master-fix-test_push_RH6

Add bare option to GitAPITestCase init method, use to simplify test_push
Merge pull request #87 from MarkEWaite/master-update-guava-to-match-git-plugin

Update guava to 11.0.1 - match the version used by git-plugin