[SPARK-2878] Part 2: Add user jars to Executor class path at launch.

The user jars are downloaded by the Worker node, and then added to the class path of the child Executor process.
[SPARK-2878] Part 3: Don't download jars to the Executor twice.

If a user jar was already downloaded by the Worker then there is no need to download the jar again.  Only download a user jar if it doesn't already exist.
[SPARK-2878] Part 4: Add test case.

This test verifies that objects are serialised and deserialised correctly on different nodes when a custom Kryo registrator is used.