Update to JGit 3.5.2

Refer to http://dev.eclipse.org/mhonarc/lists/jgit-dev/msg02750.html
for details of the changes in the new release.
Update to commons-codec 1.10
Update test git-server dependency to 1.5
Update to use surefire plugin 2.18
Use null as privatekey in credentials test if private key file doesn't exist

The credentials test needs a better data file format than the current
simple minded CSV file which contains URL, username, and private key
file.  Some valid credential test cases don't need a private key, and
other valid credential test cases don't need either a username or a
private key.

Until the replacement for the CSV file is available, this temporary
technique will allow a few more cases to be tested, without major
changes to the credentials test code.
test to cover git-parameter-plugin default usage
added Revision.equals()/.hashCode() on sha1 (not on branches)
[JENKINS-25639]
Match Revision.equals() formatting with existing files
Add test of Revision.hashCode()
[maven-release-plugin] prepare release git-client-1.12.0
[maven-release-plugin] prepare for next development iteration
Make comment match implementation
Use long constant in expression computing git version

Low risk change that silences a Coverity warning.
Don't use regular expression replacer for fixed string in git version parsing

Removing "msysgit." from the version string does not require the single 
character wildcard at the end of the string.
Fix Windows longpath tests on one problematic Win7 computer

The changes are only cosmetic, and the root reason for the test failures
is still unclear, since the same tests pass on other Windows 7 machines
and on onther Windows machines.
Use all credential tests if TEST_ALL_CREDENTIALS is true

Test credentials depend on a local file containing credentials to be tested

Most developers and most Jenkins jobs will not define TEST_ALL_CREDENTIALS
Confirmed that JGit 3.5.2 still prunes more than CliGit

Prune during fetch is currently disabled for JGit because JGit behaves
differently than command line git when pruning during fetch.  The unit
test test_fetch_with_prune() in GitAPITestCase shows the difference.
Add serialVersionUID declarations to 3 classes

Fix findbugs warning, otherwise harmless change
Declare JGitAPIImpl provider as transient, not serializable
Adapt some tests to repo path containing a space character

Other tests are not yet able to execute successfully if the path to the
working directory includes a space.  Since the Windows installer places
JENKINS_HOME in a directory path containing a space, those tests will
continue to fail.