Updates to job submission and launch on YARN clusters

This PR mostly deals with an issue in `YarnConfigurationConstructor` where the configuration wouldn't be searched properly. However, it also contains the following updates:

  * JobJarMaker no longer tries to overwrite files that exist twice on the classpath. Instead, it will print a message into FINEST and ignore the second file with the same name.
  * LaunchClass now provides more elaborate error checking
  * Updated the classpath assembly to allow for a prefix to the classpath to be provided by the runtime. This is helpful to make sure that e.g. the local YARN configuration is always first in the classpath
  * Added new class `HadoopEnvironment` to provide constants for the names of the various Hadoop environment variables.
  * Simplified `YarnConfigurationConstructor` to rely on the classpath to find the configuration
  * `YarnClasspathProvider` now uses the `YarnConfiguration` to assemble the classpath instead of relying on environment variables
  * `HelloReefYarn` now only adds its own JAR file to the Driver classpath, assuming that everything else is already on the Driver. This assumes that we run via `yarn jar reef-examples-?-shaded.jar com.microsoft.reef.examples.hello.HelloReefYarn`
  * Added the default file locations which are based on environment variables  to `YarnClasspathProvider`
  * Added a check to make sure we work on old YARN installations
  * deprecated addClasspath() as it is unsafe in the future
  * Added means to create a single jar that contains all tests and their dependencies
  * Made `YarnClasspathProvider`  more robust against old YARN versions and misconfigured YARN installs
  * Made sure that only relevant classes are copied to the Driver.
Merge branch 'master' of https://github.com/Microsoft-CISL/REEF into weimer_classpath_cleanups
 * Minor cleanups to `YarnClasspathProvider`
Addressed review comments. This now needs a re-test.
Merge branch 'master' of https://github.com/Microsoft-CISL/REEF into weimer_classpath_cleanups
Merge pull request #976 from Microsoft-CISL/weimer_classpath_cleanups

Updates to job submission and launch on YARN clusters