Python SortedSet for platforms without blist

Fixes PYTHON-104
Fixes PYTHON-167
Addresses CASSANDRA-8030

For nested UDTs and collections, the set we return must accommodate
non-hashable objects (built-in set does not).
This is a good thought for optimization. If you're not too put-off I might just stick with this for now. It follows the generic pattern in place and behaves like the blist sortedset. In fact, I did some micro benchmarks around init for the two alternatives, and the pure Python one is around 10x faster.