Revamp to document, follow new conventions, and add debugging log statements.
Made runSupervisor and runWorker more accessible for users wanting total control

Specifically, I moved the logic that obtained
and made use of configuration into runVisitor so
that runSupervisor and runWorker are now much
easier to call directly and have much simpler
type signatures.
Finished package docs.