initial import of SplayTree
add Set
remove some unused old stuff
add deepL and deepR
add RangeSet module
export Range
export S.fromList from RangeSet
export rangeMax
export range and rangePs
RangeSet: export append and fromList
add size and more docs to SplayTree.hs
update Set, add more to core interface
add Set tests
add Set.memberSplay
bugfix: Set.map could duplicate elements
add Set.singleton, more docs
add more Set functions to SplayTree
add tests for difference and intersection
add some empirically-derived optimizations
add benchmark and test code