Fixed advanced branch spec behaviour in getCandidateRevisions

This commit relates to
https://github.com/jenkinsci/git-client-plugin/pull/129
Merge pull request #225 from alexanderlink/branchTest3

Fixed advanced branch spec behaviour in getCandidateRevisions
Applied Includes/Exclude branches .

includes/excludes branches specified using wildcard, and separated by
white spaces.

Signed-off-by: Vincent Latombe <vincent.latombe@amadeus.com>
Merge pull request #227 from Vlatombe/gitscmsource_includes_excludes

Applied Includes/Exclude branches .
Fix two new javadoc warnings
[JENKINS-20392] Fix "Recent History" for merge jobs.

To compute the recent-history, jenkins uses a hashmap of branch-names
and commit-ids. The bug has two sources:
1) To fill the hashmap, jenkins uses only the branch-name and
commit-ids of those commits, that triggered the build. The
merge-commits created by jenkins are ignored (see
BuildData.java#L129).
2) To calculate the "Recent Changes", jenkins searches for the
branch-names of the commit, that was built. But jenkins considers the
merge-commit not part of any branch (the call to getRevisionsForSHA1
in PreBuildMerge.java#L93 returns a Revision without associated
branches).

The patch fixes this bug by 1) including the branches of the current
commit in the recent-changes-hashmap and 2) associating the current
commit with the correct branch-name.
Update to JGit 3.3.2 and git-client-plugin 1.8.1
Update to JaCoCo 0.7.0 (JDK 8 support, latest release)
[FIXED JENKINS-22400] option to set submodules update timeout
Update to git-client-plugin 1.9.0 and JGit 3.4.0
Sketching SCM based on Job/Run.
Implemented 'Changelog to branch' extension
Compiles at least.
Using newer core changes to make GitStatus potentially work.
Use TaskListener rather than BuildListener for SCM methods.
Adapted to minor core changes.
Signature change on checkout.
Do not create a zero-length changelog.
Compilation fix.
Test compilation fixes.