telepathy: Correctly maintain strong refs on TpContacts in property accessors
While performing operations on a TpContact’s properties, folks should hold
a strong ref on the TpContact (even if it doesn’t normally hold one).
This expands on commit
b251bcb92a343b051e62d458b66de4a9d3011f82 to fix folks
to correctly hold a strong reference in such situations.
This also fixes a potential bug where changing a Tpf.Persona’s groups while
the persona was being served out of the cache would cause a crash (null
pointer dereference).
This adds the following new API:
• PropertyError.UNAVAILABLE
See: https://bugzilla.gnome.org/show_bug.cgi?id=680335