Add support for -A and -m, in the process tidy up the the printing of file
ranges for ed scripts.
Add tests, first using the original provided 1.txt, 2.txt, 3.txt, but also add
lao tzu tao tests from the gnu diff3 how to guide and finally some manually
written tests which excised other cases.
I think this code is quite rough, a lot of it came from brute forcing the diff3
output, which isn't really well documented or explained from what I could find
online. I am happy if this is thought of as an early review, diff3 seems to be
used in important places so I want to get this right.
The gnu diff3 guide is actually quite good, but it doesn't cover every form of
output from diff3.
https://www.gnu.org/software/diffutils/manual/diffutils.html#Comparing-Three-Files
I am not sure about the license of the lao, tzu, tao example, I feel like it is
ancient and should be in the public domain. I'll rewrite it to produce the same
test case with a public domain poem if we need to.