Add `start` method to `DatWorkerPool`, delay spawning workers

This adds a `start` method to `DatWorkerPool` which will keep it
from spawning any workers until the method is called. Previously,
once an instance of `DatWorkerPool` was built, it would immediately
spawn workers. This is setup for adding callbacks after a worker
pool has been initialized. With this, a worker pool can be built
and then callbacks can be added before calling `start`.