Sorted dict 1

Pull request for SortedDict and BalancedTree23 taking into account Kevin Squire's feedback from the past 12 days.
My understanding of why you want this is because in Orderings of complex types, two objects can be equivalent according to sort order, but not necessarily be equal in a `hash` sense.  

Is this correct?

@StefanKarpinski, any thoughts on this?