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

cc @aarondav @kayousterhout @pwendell 

This should go into 1.2?
use LocalSparkContext instead, it's the preferred way of ensuring the SC is cleaned up