Fix Google sync problems

First, I implement a factory which produces Google sync instances.  The
factory ensures that only one sync instance is created per data type and
user name.

Second, I fix a dependency problem when synchronizing contacts with
Google.