Update GitRepo().merge()

- Fix the documentation about the possible format of branch_name
- Drop searching remote branch as we cannot merge into a remote branch,
we can merely merge into a local branch and push to a remote one later.
Do a second non-fastforward merge in the unit-tests to check on the commit message used
Add unit-tests for the GitRepo().merge() when it raises a MergeConflictsError exception