Fix pqueue sort boundary condition bug

If the pqueue comparison fn returned just 0 or 1 (think "a<b")
then the sort order of returned items could be wrong because there
was a "< 0" that really needed to be "<= 0".  Yikes!!!
Merge pull request #2184 from libgit2/rb/fix-revwalk-order-regression

Fix pqueue sort boundary condition bug
refs: fix copy-paste doc error
Introduce git_merge_file for consumers
Add `git_merge_status` to provide info about an upcoming merge
Remove fastforward / uptodate from `git_merge`
Change signature of `git_merge` to take merge and checkout opts
Update git_merge_tree_opts to git_merge_options
Remove `git_merge_result` as it's now unnecessary