SortedSet#drop, SortedSet#take: return self if collection hasn't changed

This PR fixes the trivial case for `SortedSet#drop` and `SortedSet#take`.

Supposedly we can take this a step further: even for complex operations like `take_while` and `filter` and so on, we can check whether any change was made at all to the collection, and if not - return `self`. But the cost is a complication of the code. I guess we don't want to do this except in the trivial cases like in this PR.