Add rudimentary locking mechanism to mute
Add rudimentary locking mechanism to mute

Instead of manually committing the session before calls are made to
Discord's API, a given member is now locked while being muted.
This means that the `on_member_update()` handler will ignore that member
as long as the lock is held, eliminating the need to manually commit
the session. It also allows for implicit rollback using the
context manager semantics of `session_scope()` in case one of the API
calls triggers an error.

TODO: Currently, weird things will happen should you somehow manage to
mute the same user twice concurrently.

FallenWarrior2k/cardinal.py,FallenWarrior2k/cardinal.py