Implement a basic Task Scheduler

This closes #256

This is a basic Task Scheduler using Reef-webserver. The application receives the task (shell command) list from user and execute the tasks in a FIFO order. To provide a long-running service, Driver submits a DaemonTask to prevent automatic termination.

* Users can send the HTTP request to the server with this URL : `http://localhost:8080/Reef/v1` 

* The command list is sent within the `data` field of HTTP request. The commands are separated by ‘;’ character.

* For example, users can send the request via `curl` command:

	```
curl "http://localhost:8080/Reef/v1" --data 'echo HELLO;sleep 1;echo REEF;echo ls’ 
	```
* The response notifies how many requests the scheduler received and scheduled. The results of tasks are written in the driver's log.

* Basically, the application reuses existing evaluator to run Tasks. Giving `-retain false` option when launch the scheduler, then evaluators are allocated/deallocated every cycle.
Why do you need to close the context? If it is the root context, it will release the Evaluator, therefore making it necessary to allocate a new one for each Task.