Added admin flag to ConcreteParticipant
ACE-101
Added isPrivate and setPrivate to conversation
Implemented isPrivate and setPrivate in ConcreteConversation
Renamed admin field in ConcreteParticipant

ACE-101
Added createConversation and modified joinConversation in ChatService
Added admin property to participant
Split join conversation into join and create Conversation
Added isPrivate to createConversation
Added isAdmin to joinConversation
Implemented new createConversation in CreateConversationController

ACE-101
Updated inviteUser in ConcreteChatService to check for isPrivate flag
ACE-101
Removed old invite methods
ACE-101
Refactored joinConversation to assume a participant already exists
inviteUser now adds the participant to the standard pool of users
ACE-101
Removed notion of "invited" participant pool vs "online" participants
ACE-101
InviteController now uses joinConversation and createConversation
Fixed error in ConcreteConversationTest referencing activateParticipant
Added findParticipant to Conversation API
Changed Conversation's findParticipant to take a UserIdentifier
ConcreteConversation now implements the new findParticipant
Updated ConcreteChatService to use the new findParticipant (remove cast)
Added condition to joinConversation to force join if admin is true
Removed redundant online check from ConcreteConcersation
ACE-101
Updated findParticipant
ACE-101
Couple of todos added and small tweaks
Added admin flag to ConcreteParticipant
ACE-101
Added isPrivate and setPrivate to conversation
Implemented isPrivate and setPrivate in ConcreteConversation
Renamed admin field in ConcreteParticipant

ACE-101
Added createConversation and modified joinConversation in ChatService
Added admin property to participant
Split join conversation into join and create Conversation
Added isPrivate to createConversation
Added isAdmin to joinConversation
Implemented new createConversation in CreateConversationController

ACE-101
Updated inviteUser in ConcreteChatService to check for isPrivate flag
ACE-101