[Engine-Campfire] Recognize LeaveMessage

Previously, we would only know about KickMessage which would cause
join messages to appear instead, as EnterMessage is the first value of
the DTO enum.
[Engine-Campfire] Better handling for unkown messages

The JSON parser will give us a zeroed enum when it encounters a
message type that's not specified in the code. Change MessageType's
first value to be UnkownMessage instead of EnterMessage so we don't
show spurious join messages and instead show a message telling the
user that we received a message we don't understand.