Trying to fix failing tests. Not finished yet.

The main reason I'm committing at this point is to keep this state of the code
because it's acting so strangely. I have a failing test that indicates two
variables need to be swapped. If I do, the test tells my to swap them back.

This happens in perl 5.14.3. It seems to be different at least in later
versions, although 5.20.0 has more failing tests.
This improves the code, but the tests are still not ok
Tests passing.

Not sure I really need the fancy Test::Deep tests, though.
Eliminate the cmp_set tests.

Even though cmp_set may be a more natural way to test the buckets, since
they are essentially sets, the tests for the finished code segments depend
on having the variables in a specific sequence, so it's just as well that
the more basic tests catch sequence discrepancies.
A bit more sorting.

It turned out I had run the wrong tests, so I hadn't see they were
failing.
More correct sorting for those ugly two-dimensional arrays