Require total order compare() for SortedSet

Previously, SortedSets could be teased into an inconsistent internal
state if they were fed an input that contained non-unique but
incomparable values.

A SortedSet cannot maintain a consistent internal state if it contains
non-unique but incomparable values.  Therefore, it makes sense to
mandate that all values be either inequal or comparable.

One acceptable solution would be to remove the `equals` operator from
the signature of `SortedSet` and infer, by a return value of `0` that
the values must be equal and not merely incomparable.

In the interest of both safty and laziness, I've elected to instead
require both operands, but to pit them against each other to provide a
useful error message should the user attempt to add inequal but
imcomparable values to a sorted set.
0.1.18
0.1.19