Tweaking SingleStepReduce

Changing single step reduce to use scheduled subset of reduction keys
instead of entire set of reduction keys.
Better optimization during the reduce phase - apply limits earlier in the pipeline so we don't have to deal with repeated calls