[SPARK-2926][Shuffle]Add MR style sort-merge shuffle read for Spark sort-based shuffle

This is a joint work with @sryza, Details and performance test report can be seen in [SPARK-2926](https://issues.apache.org/jira/browse/SPARK-2926).