cmd_names Allow opers having the channels/auspex priv to view the NAMES list of +s channels from outside

A version of the check removed by this commit is in Channel::UserList() which takes the priv into account

Discovered by @Cronus89
Backport "Refactor Channel::UserList() to use std::string"

This gets rid of questionable snprintf() usage, reported by @hifi

Backported commit: 8a06d54076551387f83a29360478ee6605e241b6