Provide facilities to merge blobs, trees and commits.
- blob-merges look at file content.
- tree-merges look at trees and merge them structurally, triggering blob-merges as needed.
- commit-merges are like tree merges, but compute or create the merge-base on the fly.