[FLINK-1060] Added methods to DataSet to explicitly hash-partition or rebalance the input of Map-based operators.

This closes #108
Exclude DataSet.rebalance() and DataSet.partitionByHash() methods from ScalaAPICompletenessTest
Added documentation for rebalance() and partitionByHash()
[FLINK-1073] Added test case to reproduce error
[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
Fix Bug with forced repartitioning in DOP changes.
Fix error with invalid config values for degree of parallelism.
Fix race condition leading to erroneous "NoResourceAvailableException".