Add sorted take optimizations

closes #880

Should be good enough, I think.
filterKeys will at least be pushed map-side, and there will be no shuffle. But point taken, we need some EmptyGrouped that could skip even reading the data in the first place (although, it probably almost never happens to take(0). Why would you?)