The queue pass not handle scheduling and state

The queue only delegates work to workers and returns results to
managers.

	modified:   yerba/managers.py
	modified:   yerba/workqueue.py
add event notifier to decouple events

	modified:   yerba/base.py
	modified:   yerba/core.py
	modified:   yerba/managers.py
	modified:   yerba/workqueue.py
Move state management into workflows

A workflow now provides an interface to the state of a workflow. The
manager now only manages workflows and not the state of its jobs.

	modified:   yerba/managers.py
	modified:   yerba/workflow.py
cleanup dead code

Remove unused code paths and helpers

	modified:   yerba/managers.py
	modified:   yerba/workflow.py
	modified:   yerba/workqueue.py
create factor methods for Job and Workflow

	modified:   yerba/managers.py
	modified:   yerba/workflow.py
try to create directory or ignore errors

Attempts to create a directory to the log otherwise it ignores any
error.

	modified:   yerba/workflow.py
add file encoding

	modified:   yerba/__init__.py
	modified:   yerba/base.py
	modified:   yerba/core.py
	modified:   yerba/db.py
	modified:   yerba/managers.py
	modified:   yerba/routes.py
	modified:   yerba/services.py
	modified:   yerba/utils.py
	modified:   yerba/workflow.py
	modified:   yerba/workqueue.py