[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. 
I do not believe that added JARs / files should have any bearing on whether something serializes correctly (although they could impact _deserialization_).  Therefore, I don't think it makes sense to print this trace information via this debug option.

Also: the user can easily trace this themselves by just logging `sc.addedFiles` or `addedJars`, so I don't think that we need to have per-task / RDD logging of this.