Details:
tests storing and fetching of 2 urls with all combinations of subtype and context
all contacts are stored and fetched in one go,
not done with a _data method, to speed-up the test, as requested

RevBy: TrustMe
Details: This restores behavior of the old scary builder. It avoids bugs by
reusing existing code. Without such habit it is hard if not impossible to
consider all special cases in each code path.

RevBy: TrustMe
Details:
This commit makes all the functions that can fail in the scalar QB
return a QContactManager::Error, instead of returning a boolean
(sometimes) and setting an error in m_error (for the few methods which
used to do it). Since m_error is not used anymore, the error() method is
removed.

Changes: Change sync target from "telepathy" to "addressbook" when saving

RevBy: TrustMe
Details:
When saving a contact, we set its sync target to addressbook if it was
previously set to telepathy. This is done to prevent contactsd from
deleting the contact once the user has set some custom data on it.

Changes: set fetched details to readOnly if some resource is not in the qct or default graph

RevBy: people-review

Details:
QtContacts details can be set readOnly per detail, not field.
So for now if any resource is not owned by qct or in the default graph,
the whole detail will be set to readonly.
Not checked for ownership are currently:
SubTypes (by class and property)