[contactsd] Support batched contact operations

Fetching contacts in large batches is much more efficient; it takes less
than twice as long to fetch an order of magnitude more contacts, it seems.

OTOH, writing contacts in batches does not produce noticeable time
reductions, although it will reduce the number of change signals
generated, and thus subsequent queries from other parties.