Minor performance boost for SortedSet#insert

Rather than traversing the tree twice, once to check if an item is there, and
again to insert it, we just traverse down once, and use 'throw' to bail if
we discover the item is already there.

This gives about 8% speed boost to #insert.
Minor performance boost for SortedSet#delete

Same principle as the previous commit, which optimized SortedSet#insert. As with
that commit, this gives about 8% performance boost to SortedSet#delete.