channel: fixed auto-join occurring when disabled

With the auto_join channel flag set to false, the channel is still
auto-joined. This can lead to the channel being "doubly" joined if
a client previously sent a channel join request. The result of being
"doubly" joined is really undefined, but most notably memory leaks
can occur.

It also appears, based on the comment under the modified condition,
the previous condition was incorrect.

Another patch should probably implement some sort of check to ensure a
channel is not already joined, assuming the auto_join flag is enabled.
irc-im: fixed invalid memory reading on chat leave

When a chat is left, prpl->chat_leave() is invoked, which is suppose
to free the groupchat. Since the data is now freed, or suppose to have
been freed, attempting to modify the data will result in bad things.
This simply removes an assignment operation, which was unneeded due to
the memory already being freed.
jabber_parse_muc_list: only imcb_chat_free channels we just created

Should fix a few remaining rare issues when reconnecting and autojoining
channels locally
Revert hacky way to do self-messages

Just figured out a very clean way to do the same thing, yay.

See next commit!

This reverts commit d373528d86ed4ddff4f60da4bb1a610179864739.

Conflicts:
	irc_im.c
	protocols/bee_chat.c