Shrink down the exposed methods.

The catalog really only cares right now about getting or
creating a logbook for a given job, lets keep the api simple
to just do that until further notice.
Remove and add a few new exceptions.
Add some search functionality and adjust the await() function params.
Rename the date created field.
Add a running state which can be used to know when a workflow is running.
Ensure that the task has a name.
Add a context manager to the useful read/writer lock.
Rework how we should be using lists instead of ordereddicts for optimal usage.
Fill in the majority of the memory job.

Testing to commence shortly!!