removed deriving from std::enable_shared_from_this
*this is now passed to participants constructors in server body
server: private add_participant_ -> public add_participant
server: private add_group_ -> public add_group
constructor parameter server is now reference not std::shared_ptr
constructor of group changed - the only param is now reference to server
modified hidden_participant (and participant) constructor