Refresh the picker db 'media' table before fetching data

We already refreshed the 'album_media' table before fetching
album_media, we now do the same before fetching all_media.

As part of refreshing 'all media' we also flush the album_media table
to clear any left over data from the last picker session and also
manage the growth of the album_media table on storage.

Refactored the syncs to occur as part of the PickerDataLayer
fetchMedia.

Also refactored the album_media syncs to sync only one provider at a
time

Test: atest PickerDataLayerTest && atest PickerSyncControllerTest
Bug: 202139341
Change-Id: Ia284db87fc0cf71b96203586fdf65ad81adab9e2
8 files changed