[JENKINS-16993] Use "git log" to determine changed files.

The output of "git show" included commits that were not introduced since
the last build, so could falsely trigger build in the presence of
"includedRegions".

A benefit of not including extraneous commits is the size of the output
is reduced, and therefore less heap required.

This can still trigger extra builds as "-m" means the changes between all
legs of a merge commit are displayed.  However, without this, conflict
resolution changed as part of the merge commit would be skipped.
ease development with eclipse/m2e
update jgit to latest release 3.0...
Merge pull request #15 from imod/jgit-3.0

update jgit to latest release 3.0
Improved the UI to let the user select JGit.
semantic merge conflict
doc improvement
fixed the quotation handling

Putting quote around message is wrong on Unix, where quote is handled by shell. But on Windows, where all t he arguments need to be packed to a single String before the kernel API call, quotation can behave differently from one runtime to another.

Therefore it is better not to trust that too much. Instead, opt for passing it in as a file.
added note support
Explicitly marking as excluded is better than impliciting doing so
made the test case work
doc improvements
Added submodules implementation
Most of the callers of lsTree appear to be looking for recursive behaviour, when the method historically has been implemented non-recursively.

Verified from git 1.1.28, which predates the git-client split
added a test case for getSubmodules
create a local mirror of a repository for speed up access to test branches in our repo
Added hasGitModules to JGit
implemented the prune method
documenting what it does
refactored to support multiple working repositories