workers threads are now running fine
Replace the inheritance of the jobs storage by composition

Avoid to have a session inside of a job because the state of a session
is too volatile. it can be closed, or we want to use different session
for different action (for example, the job is created with one session
and fetched from another).
The queue keep a job which has no relation to database.
Update states and dates.

Simplified Jobs