refactor: use short-lived sessions when accessing the database

Previously the database connection ("DB.session") was established during
the startup of Aura Engine.
This was causing conflicts in the threaded execution environment (#75).
Now all sessions are acquired in a short-lived context:

  with DB.Session() as session:
      ...

If database query performance is a real concern, then the session
contexts could be moved to a higher level.

Closes: #75
1 job for lars-short-db-sessions in 1 minute and 27 seconds (queued for 59 seconds)