Refactored Message to have a subType property

Made getType and getSubType abstract in Message
Implemented getType and getSubType in ChatTextMessage
Made RosterMessage abstract and implemented getType to return 'ROSTER'
Created RosterAddedMessage, extending RosterMessage,and implementing
getSubType to return 'ADDED', also added a userName property
Created RosterRemovedMessage, extending RosterMessage, and implementing
getSubType to return 'REMOVED'
Created RosterContentMessage, extending RosterMessage, and implementing
getSubType to return 'CONTENT'
Refactored PresenceMessage due to Message refactoring
Refactored ConcreteConversation to implement new roster message types