Added Gatekeep, a system where users require approval to fully join the server.
Currently, "manual" and "captcha" modes are available.
Manual mode requires someone to use the "/approve" command, or the "approve" context menu on a user to approve them.
Captcha mode allows the former, but lets the user complete a captcha in order to join.
The captcha is provided as both an image and as text.
Added a context menu for messages for updating a role group message.
Ideally this would be done automatically, but this works fine for now.
Alternatively, this may be ideal if one doesn't want changes to immediately propagate.
Added the option for some role groups to have their roles be mutually exclusive.
I.e. one would only be able to pick one role from the group.
Added self-roles with options to add or remove one's own roles.
Added moderator commands for managing self-roles.
When a warning is issued, it should now show up in an admin channel, if there is one.