[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.
Implemented 'Changelog to branch' extension
Created a unit test that reproduces JENKINS-23179
[FIXED JENKINS-23179] git pre-merge fails with matrix project
Removed commented out code
Merge remote-tracking branch 'upstream/master'

Conflicts:
	src/main/java/hudson/plugins/git/GitSCM.java
Changed displayname
[FIXED JENKINS-23791] convert seconds to milliseconds for timestamp
Merge remote-tracking branch 'upstream/master'
Merge remote-tracking branch 'upstream/master'
JENKINS-22009 Git Polling Keeps Detecting Changes When Variables in refspec (setup correct environment for polling + test case)
Adding support for Gitiles repository browser.

 More info about Gitiles: https://code.google.com/p/gitiles/
Update joda-time to 2.4
Use git-client 1.10.1, first version to include CheckoutCommand.timeout()
Add timeout as a checkout option
[JENKINS-20392] Add test for Recent-History-Bug in merge-jobs.
Added an Assembla browser class. Also added any sublime project or workspace files to ignore.
Fixed an unnecessary toString call. Clarified comment.
Merge remote-tracking branch 'upstream/master'

Conflicts:
	src/test/java/hudson/plugins/git/AbstractGitTestCase.java
Add a force option to push