Added option to never use merge commit

Using merge commits lead to some problems with matrix jobs for us (when parent and child builds checkout to different revisions). I think it should be possible to ignore merge commits and always checkout to HEAD in pull request build, so I added an option for this.

It is implemented in the same way `autoCloseFailedPullRequests` is and this is actually the first time I write Java :)

Also, there are some places where plugin checks if pull request can be merged (e.g. when updated Status API), but I am not sure what if the best way to use this option there.

I created no tests as my Java is bad, but I'm ready to add them with some guidance.

This is probably unrelated, but I think docs should be updated, because adding `${sha1}` as parameter in Git plugin configuration is not necessary. In our case, docs were misleading as we thought setting Git plugin to checkout to `${ghprbActualCommit}` would make the deal, but it was still checking out to merge commit.