Add core copy detection algorithm
This adds findcopies, which detects merge-relevant copies between
files in a pair of manifests back to the merge ancestor.
While the merge code invokes the copy detection routine, it does not
yet use the result.
abort: edit failed: false exited with status 1
transaction abort!
rollback completed
abort: edit failed: false exited with status 1
transaction abort!
rollback completed