Add groups feature

Groups features allow people to create their own groups, stages, tasks, and show different ranks in there. Fork also includes fetching attempted problems with their states.