[SPARK-2403] Catch all errors during serialization in DAGScheduler

https://issues.apache.org/jira/browse/SPARK-2403

Spark hangs for us whenever we forget to register a class with Kryo. This should be a simple fix for that. But let me know if you have a better suggestion.

I did not write a new test for this. It would be pretty complicated and I'm not sure it's worthwhile for such a simple change. Let me know if you disagree.
In the prior case, of NotSerializableException, the error message was likely sufficient. However, since we're dealing with arbitrary exceptions here, the user may need to actually see the full stack trace to understand what's going on. Maybe something like:

```scala
abortStage(stage, s"Task serialization failed: $e\n${e.getStackTraceString}")
```