Trigger deltaUpdate in ContactsIndexerUserInstance

1) Create and initialize ContactsIndexerImpl in ContactsIndexerUserInstance
2) trigger the delta update in ContactsIndexerUserInstance to make it work
   end to end. Namely if contacts are changed on the device, we will see
   those changes reflected in AppSearch.
3) correctly set and persist last delta update and delete timestamps

This is splitted from ag/16569486. The first part is ag/16981486.

One Pager: go/appsearch-contacts-indexer-one-pager
Design doc: go/appsearch-contacts-indexer(Implementation Plan:
https://docs.google.com/document/d/1qfek20XQQYh02V2J6K0pXfrhnXYmVH-1NqwI8Xiqd10/edit#heading=h.8tlk1jy5d7ek)
Prototype: ag/16130927

Bug: 203605504
Test: AppSearchServicesTests
Also did manual test on device with this feature enabled:
1) added 5/100/1000 contacts
2) wait until indexing finishes while monitoring the cpu and memory
   usage. No major issue found
3) use dumper to verfiy the documents are available in AppSearch
adb pull /data/system_ce/0/appsearch
blaze-bin/third_party/icing/tools/dumper appsearch/icing/ > log

Change-Id: Ie8321bbe93dc03b277ea62f21b6fd85ded6450df
18 files changed