Dependency updates:
 * Removed all dependencies in the parent pom
 * Declared the dependencies in the (sub-)projects that used them
* Removed the dependency on guava
added the junit dependency to examples
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
generate *-test.jar for unit tests for reef-tests; add JUnit to shaded jars; started runtests.ps1 script
add test suite that includes all other tests in reef-tests (to run on YARN) + minor refactoring
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
add logging parameter to runreef.ps1 script
bugfix: use $LogParams for java logging option to avoid name collision
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
Merge pull request #740 from Microsoft-CISL/weimer_dependency_cleanup

Dependency updates
Merge pull request #744 from Microsoft-CISL/sergiym_yarn_tests

Various improvements in reef-tests
Exception reactoring

 * Added the full constructor to the Failed* classes
 * Cleaned up inheritance hierarchy
Whoops, missed one thing
added a getReason() to Failure that returns an Optional
Merge pull request #745 from Microsoft-CISL/weimer_exception_refactoring

Exception reactoring