In order to provide ajax chat accessible by remote visitors (xchans), we need to remove any core assumptions that userID is an int (which is a common centralised site assumption). Additionally we won't be able to provide guest logins, as this also assumes integer ID's; so that ability needs to be disabled by configuration.