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).
I looked through the code and released that this is only used to construct a set column value in cqltypes.py. There's a list built there that's thrown away (https://github.com/datastax/python-driver/blob/master/cassandra/cqltypes.py#L689). Could this type steal that list and sort it instead of constructing a whole new list? Maybe via an alternative "unsafe" init method sortedset._init_from_stolen_no_duplicates_list().