Move checks determining whether a user is allowed to view the NAMES list of a channel from Channel::UserList() to cmd_names
Avoid double Membership lookup in Channel::UserList()

The user is always inside if UserList() is called from ForceJoin() and the HasUser() result obtained in the /NAMES handler can be reused