Simplifies CentralPlannerScheduler.set_status

This removes some lines that were special-cased for trying to set status for
a DISABLED task, but simply duplicate functionality from later in the method.
Merge pull request #565 from Houzz/simplify_set_status

Simplifies CentralPlannerScheduler.set_status
small fix merging two for loops into one
moved set_status to the Task class
moved out task pruning into its own method
moved prune_task to Task class
don't update worker objects from scheduler
move worker pruning logic to the Worker class
move scheduler config to a separate named tuple
pass scheduler config object instead of a lot of arguments
Bonux fix: Consistency fix for all internal time paramters. Now everything uses unix timestamps

I'm not sure if this could lead to issues if restoring a pickled state. Otoh I don't know if anyone uses the disabling feature, and worst case the issues will be small (i.e. things are never re-enabled automatically for those tasks, until they are re-added).
Merge pull request #567 from spotify/erikbern/scheduler-refactoring

Erikbern/scheduler refactoring
Merge remote-tracking branch 'upstream/master' into master

Conflicts:
	luigi/scheduler.py
Merge branch 'buck/merge'