guarantee callback from constructor

When you create an instance of the client, it checks for a token, then
sends it off for validation when the socket opens, triggering your
authentication callback with either a yes/no. If the user has no token,
the callback is never called, and thus there’s no way for a caller to
know the current status. With this change, absence of a token will
trigger an immediate synchronous callback (with a failure message).