[FLINK-1073] Enables sorted group input for GroupReduce combiners.
- GroupReduceCombineDriver uses separate comparators for sorting and grouping.
- Adding support for multiple comparators for a single input driver required some refactoring.

This closes #109