Don't make TaskScheduler recycle the task when WorkQueue is disabled.

The previous behaviour didn't let tests use task_util::WaitForIdle()
after disabling a WorkQueue since the QueueRunnerTask was constantly
being recycled.
Make StartRunnerFunction behave similar to disabled_.
Merge pull request #653 from Juniper/nsheth_work_queue_disable

Nsheth work queue disable