Add init of KeyChain on Group creation
Add new epoch creation for add/rm users

When a user is added or removed from a group, epoch's are now created.

This is done in such a way that epochs are created before adding a new
user, and after removing an old one.

To accommodate this, an instance variable: epochJoined keeps track of
when each user in the group joined.