Added code to the InviteController to check if a user is already a
member of a conversation prior to inviting
Merge pull request #62 from ualerts-org/ensureUserCannotBeInvitedToAConversationMoreThanOnce_ACE-105

Added code to the InviteController to check if a user is already a
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
Removed isAdmin from joinConversation
Removed isDefaultConversation from createConversation
Modified ConcreteChatService to reflect new API arguments
Added helper methods to ConcreteChatService
Modified arguments to support new createConversation in
ConcreteUserService

ACE-101
Fixed/cleaned ConcreteChatService joinConversation method
Updated CreateConversationController removing unnecessary parameters
Removed isDefault and setDefault conversation from Conversation API