Differing + reporting

Getting close to something quite good. Need to test on linux + make a
diff tool implementation for the linux diff command.