[FIXED JENKINS-16888] compute ObjectId before checking isCommitInRepo
added unit tests to cover 
- fetch from multiple repositories [JENKINS-16914]
- merge basic scenario
fix broken GitPublisherTest#testMatrixBuild
[JENKINS-16914] set remote.<remoteName>.url before fetch
added test for "merge and push" scenario
pull up utility methods to AbstractGitTestCase
remove code duplication
Added support for using regex directly in BranchSpec if spec string
starts with colon.
Example: ":^(?!(origin/prefix)).*" would match any branch except
'origin/prefix*'.
Merge pull request #138 from mzagar/JENKINS-7087_regex_branchspec_support

JENKINS-7087: support for using regex directly in BranchSpec if spec string starts with colon.
test boolean first to avoid unnecessary IO checking git repository for modules
minor code simplification
[FIXED JENKINS-12188] close JGit repository
upgrade git-client
enable test for JENKINS-8342