Microsoft-CISL/REEF — pull request #987 by markusweimer (2014-09-16 17:49:11+00:00)
Title: Cleaning up of the Driver idle detection

Closes #934

This PR restructures the Driver's idle handling. It adds `DriverIdleManager` that joins all the different sources for potential idleness. While the set of sources is extensible, it right now contains three:

* The clock
* The resource manager
* The application, represented by its event handlers.

Each of these trigger a check for idleness when they are idle. Also, they are all considered when another component triggers this check. All of this is logged.

*Open Issues:* the unit test for #906 introduced in #985 still doesn't pass. This is because we don't separate the resource manager from the REEF threads. This forces the `FailedEvaluator` in that test to come in *after* idle is detected. I created #986 to track this issue.