MAjor refactoring and addition of GroupList.java

added parralell list to keep trask of groups (because the user group
pairs are hashed by user -_- but I guess memory is cheaper than
processor time)

IMPORTANT: all modifications of user/group relations MUST be done with
the utility/wrapper functions is GroupServer or they may fall out of
sync

completed:
-create group
-delete group

added:
-GroupList.java