[JENKINS-25444] CliGit implementation of fetch/deleteBranch does remove
open changes, JGit does not

Created testcase, perform a reset --hard in case of ref checkout an
branch with delete checkout to simulate CLI behaviour.
Fixed failing lock test.
Merge remote-tracking branch 'upstream/master' into
JENKINS-25444-fetch-clean

Conflicts:
	src/main/java/org/jenkinsci/plugins/gitclient/JGitAPIImpl.java
	src/test/java/org/jenkinsci/plugins/gitclient/GitAPITestCase.java
Merge pull request #153 from pauxus/JENKINS-25444-fetch-clean

[JENKINS-25444] CliGit implementation of fetch/deleteBranch does remove