Allow users to add or remove themselves to/from groups using the API.

Previously, there was no way for a user to add themselves to a group, or
remove themselves from a group. Only admins were able to do this. There
was also a bad query preventing adding on non-localsites.

Now a user can add themselves to any group they'd have access to, and
remove themselves from any group they're on. This works with both global
groups and groups on Local Sites.