Load the raw contact's photo in picker dialog

Add a photo query to get the photoId for the raw contact.
Use the photoId to get the thumbail from ContactPhotoManager.

When loading a photo from the databases, pass in an empty byte array
instead of null to indicate that there just wasn't a photo instead
of null which gets interpreted as a failure to load and so the
special BITMAP_UNAVAILABLE holder is used to prevent further
attempts at loads (see b/21423350). Since the change only converts to
empty when reading from the database, that network bug should not
reoccur.

Test:
Verified:
  * all photos for aggregates which have them appear in the
    picker dialog
  * removals, updates, additions to photos were reflected
    immediately in the picker and main lists, including
    to the me profile.

Bug: 32096517
Bug: 32384257

Change-Id: Ib704f84a351490bd2e34825d9602be813aa79b9b
3 files changed