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: impossible time zone offset: 4444444
transaction abort!
rollback completed
abort: invalid date: '1\t15.1'
transaction abort!
rollback completed
abort: invalid date: 'foo bar'
transaction abort!
rollback completed
abort: invalid date: ' 1 4444'
transaction abort!
rollback completed
abort: date exceeds 32 bits: 111111111111
transaction abort!
rollback completed
abort: No such file or directory: .../test/bar