Classpath assembly refactoring

Closes #927

This introduces a new interface `RuntimeClasspathProvider` that needs to be implemented and bound by the runtime in question (YARN, Mesos, ...). It is used by the new class `ClasspathProvider` to form the classpath for the Driver and Evaluator processes. This class is in turn used within the runtimes to assemble the command line to launch those processes.

The interface is implemented for YARN, HDInsight and the local runtime. I tested it on the local runtime.
Merge branch 'master' of github.com:Microsoft-CISL/REEF into weimer_927
Merge pull request #947 from Microsoft-CISL/weimer_927

Classpath assembly refactoring.

No unit test failures on Linux - locally or on YARN. Merging into master.