all: Use g_application_get_default instead of photos_application_new

... so that PhotosApplication can stop being a singleton. Plus it is
more convenient.
tracker-change-monitor: Remove redundant header
query-builder: Default to [0, 50) if no OffsetController is specified
Add PhotosSearchContext and make PhotosApplication implement it

We want to split the application into two search contexts - one is for
searches initiated from within the application, and the other is for
searches initiated from gnome-shell.

For that to happen certain classes which were singleton, and hence
global to the entire application, now has to have a separate instance
for each context. Each context will, therefore, have a state that
encapsulates the instances of these classes that correspond to it.

Currently, PhotosApplication is the only context. The future
PhotosShellSearchProvider will be another implementation.
Add PhotosFetchIdsJob
photos-utils: Add photo_utils_get_icon_from_cursor
Add PhotosCreateCollectionIconJob
Add PhotosFetchMetasJob
Add PhotosSearchProvider
application: Use PhotosSearchProvider
data: Add a ini file for the search provider
Turn into a DBus activated service
application: Split out the app menu creation into its own function

This keeps the code in sync with gnome-documents.
application: Rearrange the window creation and destruction code

This keeps the code in sync with gnome-documents.
application: Use an activation timestamp

This would be used to forward the shell's timestamp when launching
from the search provider so that the window will get the WM focus.
application: Implement launch_search
application: Implement activate_result