[SPARK-4085] Propagate FetchFailedException when Spark fails to read local shuffle file.

cc @aarondav @kayousterhout @pwendell 

This should go into 1.2?
nit: I am not certain if you consider it cleaner, but this could be replaced by a call to map() so you wouldn't have to do `case Failure(e) => Failure(e)`.