Tests and basic documentation

@davisagli We have added a basic README (based on some of your previous explanations of the package), some docstrings on key methods and a couple of tests.
Previously if this was called with a user who is already on the roster and no groups were specified, the existing groups were left in place. Now it removes the user's groups. Is that an intentional change?