Add sorted take optimizations

closes #880

Should be good enough, I think.
Is there a different way to drop all entries? I presume filterKeys will still look at each key?
Shouldn't matter much since this is an edge case. Just asking out of curiosity. Thanks.