Refactor mesos scheduler delegator to actually delegate.

Factor out common code (locking etc), have real delegates to do the work.