Message type inspection

Adds inspection of the message type attribute. Types of normal and those not defined emit a "candy:core:chat:message:normal" event and types not listed in RFC3921 which should be treated by clients as normal emit a "candy:core:chat:message:other" invite. Prevents events with type normal from being emitted as a room message. Users can now write plugins that detect chat invites, detect broadcasts and normal messages.

Fixes a UI hangup if a candy user receives a group chat invite from a non candy user.