[SPARK-3694] RDD and Task serialization debugging output

Hi all - in addition to what was explicitly requested in the original JIRA, I also added the ability to have a trace of the serialization for RDDs so that you can see which specific dependency is unserializable. For debugging task serialization, I added a debug log output that shows the file and jar dependencies. However, I am unsure whether I can add more functionality there. For the RDD, it is possible to attempt to serialize each dependency in turn, which is why I can identify which component fails. For task debugging, I did not see a straightforward way to do the same thing. If anyone can suggest an approach here, I would be happily to implement it. 
Is this true?  The original error message tells me the class of the object that failed to serialize.  This comment suggests that this trace tells me something like which _instance_ that caused the error, but unless I'm mistaken I don't think this patch actually does that.