Merge driver structure used to register custom merge drivers.
To associate extra data with a driver, allocate extra data and put the
git_merge_driver struct at the start of your data buffer, then cast
the self pointer to your larger structure when your callback is invoked.
Called to merge the contents of a conflict. If this function returns GIT_PASSTHROUGH then the default (text) merge driver will instead be invoked. If this function returns GIT_EMERGECONFLICT then the file will remain conflicted.