Made Outputter more amenable to testing
Rewrote PairComparator to have better typing.
Rewrote and moved Pair, and added Outputter tests

Moving Pair also included moving PairComparator.

Why test Outputter?  Because I've written scripts that depend on the format of
the output files, and I want the output format to be documented.  Changing the
format should require changing a test and changing the documentation.