:bug: Use pessimistic locking for users (closes #97)
:bug: Use pessimistic locking for users (closes #97)

On Postgres, this solves our concurrency bugs with the slight downside
that some concurrent requests may take longer.
On SQLite, this also produces correct results, but some concurrent
requests may error out after hanging for a bit.

I tried modifying the timeouts but this did not seem to have the desired
effect.

chaosdorf/mete,chaosdorf/mete,YtvwlD/mete,chaosdorf/mete,YtvwlD/mete,YtvwlD/mete,chaosdorf/mete,YtvwlD/mete