Added support for removing members from groups and cycle detection.

This commit add support for:
- Removing users from groups.
- Removing groups from parent groups.
- Throwing an IllegalArgumentException when a cycle amongst groups is
created.
- Throwing an IllegalArgumentException when adding a group to the
“@all” group.
Merge pull request #13 from michaeldejong/group-removal

Added support for removing members from groups and cycle detection.