Rename Evaluator and change publicKey Driver

Rename Evaluator and change publicKey Hello Driver
PublicKey change for HelloDriver
Shrunk the dependency tree
  * Marked all Hadoop dependencies as `provided`
Merge pull request #739 from Microsoft-CISL/weimer_shrink_jar

Shrunk the dependency tree
Merge pull request #738 from Microsoft-CISL/Julia-RenameEvaluator-and-update-publicKey

Julia rename evaluator and update public key for HelloDriver
Fix CLASSPATH and add a usage example
Merge pull request #741 from Microsoft-CISL/bgchun-fix-run-script

Fix CLASSPATH and add a usage example
Runtime refactoring

This PR cleans up some of the runtime implementation, mostly by renaming and moving things around. It is part of an ongoing series of runtime refactorings in REEF. Hence, it is not to be considered a final state, but an incremental step.

  * Replaced several anonymous inner classes with first order classes.
  * `DriverManager` no longer implements `EvaluatorRequestor`. `EvaluatorRequestorImpl` does.
  * Added more `package-info` documentation
  * Created a cleaner package structure for `c.m.r.runtime.common`
  * Added more, but not complete JavaDoc comments
* Deprecated getCatalog. It can instead be injected
Added defensive code to EvaluatorRequestorImpl and a test
update dll key token for retainedEvalCLR
Unit Test and fix for multiple handler creation

Tests if all user bound handlers are instantiated only once. If not
throws driver side failure exception. This fails on current master.
Hance included is the fix from @mweimer: Added a RuntimeStartHandler
that ensures that all user given event handlers are instantiated only
once.
Merge pull request #743 from Microsoft-CISL/shravan_multiple_handlers

Unit Test and fix for multiple handler creation
Merge pull request #742 from Microsoft-CISL/weimer_runtime_refactorings

Runtime refactoring
Merge branch 'master' of github.com:Microsoft-CISL/REEF into sergiym_yarn_tests