WeightedUnionFind was doing the tie-break backwards.  Also more tests.