core: Atomically update auth_tokens in GDataClientLoginAuthorizer
core: Atomically update auth_tokens in GDataClientLoginAuthorizer

If a (synchronous or asynchronous) authentication operation fails or is
cancelled part-way through, we could have successfully authenticated against
some GDataAuthorizationDomains but not others. In this situation, we now
only update the set of domains we're authenticated against if _all_ domains
are successfully authenticated against.

While this may seem like it wastes the valid auth. tokens, it makes the API
more consistent and won't really impact real-world usage. In the real world,
clients are going to want to be authenticated against all of the domains
they're interested in, or none of them. They most likely won't care about
partial success of an authentication operation.

Distrotech/libgdata,pwithnall/libgdata,Pecisk/libgdata-gtasks,Pecisk/libgdata,Pecisk/libgdata-gtasks,Pecisk/libgdata,pwithnall/libgdata,GNOME/libgdata,Pecisk/libgdata-gtasks,Distrotech/libgdata,Pecisk/libgdata,Distrotech/libgdata