Fix comparison of UUIDs with the same time.

There was an inconsistency where two different UUIDs created from
the same time would correctly report == as false, but confusingly
report <=> as 0. Now <=> is implemented per RFC 4122's "Rules for
Lexical Equivalence", and == is no longer a special case.