Using CLR Scheduling means and implement TaskDetail

This commit makes the TaskScheduler use the CLR for scheudling tasks.
When a new instance is created a TaskFactory is instanciated that is
creating tasks with no return value to run in the global threadpool.
Unsing the System.Threading.Tasks namespace for this adds some useful
tools and some extensibilty to the scheduling. At the moment the
ScheduleTask method should work as intended.

For the encapsulation of a Task that has been requested to be run by the
server, there now is a helper class TaskDetail storing all relevant
information about the task. This will be handed over to a final instance
that will be scheduling the tasks for execution later on.
preparing TaskRunner

This will be the instance that is running the tasks that have been
scheduled through the ITaskScheduler interface