add skipped and failed job logging

New helper function added for job logging jobs that have been skipped or
run previously. Other minor changes such as documentation tweak,
removing dead code, refactoring names.

	modified:   yerba/base.py
	modified:   yerba/managers.py
	modified:   yerba/routes.py
	modified:   yerba/workflow.py
	modified:   yerba/workqueue.py
Create new workflow store

Refactor into a new workflow store class. Refactor the workflow manager
to now use the work flow store rather than working with the database
directory.

	modified:   yerba/db.py
	modified:   yerba/managers.py
Fix schedule to update status correctly

When a workflow is already completed schedule will update the status
to Completed. The default status return by schedule has been changed to
Running. This is a limitation with work queue not being able to report
when a task has actually started running.

	modified:   yerba/managers.py
fix job restart and failed

A workflow now counts the number of attempts to complete the task and
compares the number of attempts with the number of allowed retries. When
the number of attempts exceeds the number of retries the job reports
as failing.

	modified:   yerba/workflow.py
rename names to ids

The use of ids makes it easier to debug which workflows have failed.

	modified:   yerba/workqueue.py