kerberos: Don't crash when an identity could not be looked up

Set an error in look_up_identity instead of only setting the op_res to
NULL, so that ensure_credentials_sync catches it.

Hold a reference to the GoaKerberosIdentity object when queueing a
notify. It is safer than trying to disconnect the source in dispose. We
were not checking for all the idle sources, and even if we did, it can
be racy if the object was getting disposed from a different thread.

Fixes: https://bugzilla.gnome.org/699491