Fix _add_channel_user() to use set as user_list

Users are sometimes not removed from channel user lists, resulting in duplicates when they join again. A set is more appropriate for this, anyway.