Refactoring locatorFetchRunnable and few others.

Fixed a bug where re-scheduled jobs are still marked as "running".
* renamed clearFromRunning -> markFinished
* renamed pushBackToScheduled -> reschedule extracted ShardedService
* extracted SlotCheckScheduler, commented ScheduleContext extensively (probably need a better name).
* commented LocatorFetchRunnable extensively, renamed to SlotCheckRunnable.
This comment is misleading, can you explain the reasoning behind it?