Add sorted take optimizations

closes #880

Should be good enough, I think.
What about just dropping `bufferedTake` on `IdentityValueSortedReduce`? I don't feel *that* strongly about this but I feel like giving an expert a convenient way to override the constant would be nice.