[REEF-3]Create basic Task scheduler as an example

The current Task scheduler example only supports one evaluator
at a time. This pull request addresses this issue to run multiple
evaluators simultaneously and introduce a new REST interface to
dynamically set the maximum number of evaluator.

* The new API : `/reef-example-scheduler/v1/max-eval?num={num}`.
* Quite a lot of code rearrange and refactoring are done.

JIRA: [REEF-3](https://issues.apache.org/jira/browse/REEF-3)
While this does work, I wonder whether this can be made more expressive, for instance:

  * Why not use `<TaskEntity>` as the collections type? That way, one could ask questions later on like "what was Task 5's command?"
  * is there a specific reason to use a set for the running Tasks, but a list for finished and cancelled ones?

This doesn't preclude merging this code, but I thought I should bring it up, given that this will serve as an example fore people new to REEF.