Turn gnome-software into a service

Start using GApplication 'service' mode for gnome-software.
This allows us to launch via D-Bus activation.

Provide a 'launcher' helper to install in /usr/bin so we can still
be started from the commandline.

https://bugzilla.gnome.org/show_bug.cgi?id=707763
Set DBusActivatable in desktop file

Rename the desktop file to org.gnome.Software.desktop and add
DBusActivatable=true.

This allows us to be launched directly from the shell by way of
D-Bus activation (instead of going via the launcher binary).
Temporarily drop the --search-value commandline option

Also drop the gs_shell_set_search_value() function that
backs it. This functionality will come back later.
Redo commandline handling

Move all commandline handling to the launcher and convert
the --mode argument into a set-mode action.
Start up in true service mode

Only initialize the UI when we have been activated.
Merely starting the service process should not show
a window.

In the future, we will monitor for available updates
in the service process, and keep the service process
alive for that, but for now, it will exit after the
10 second grace period that GApplication provides for
services.
Load overview when activated

Otherwise, the page does not get populated initially.
Hide the window on close

With the way things are currently set up, we only create a single
window, so we have to keep it around if we want to repeatedly
show and hide it from an always-running service.
Add update monitoring

Move some of the g-s-d updates plugin functionality over here.

The service is now monitoring available offline updates itself,
and notifies about them.
Autostart the service

We are doing monitoring now, so we need to make sure the
service is started at login.
GsShell: Add an api to start a search

This function will be used in a future GNOME shell
search provider.
GsApplication: Add an action to start a search

An action is the preferred way to make functionality
in a GApplication available externally. In the future,
this action will be made available from the commandline
via the launcher.
Launcher: Add a commandline option to start a search

This brings back the --search-value functionality in slightly
different form. You can now call

  gnome-software --search fox

to find foxes.
GsShell: Add an api to show a search result

This will be used to show individual search results
from a shell search provider, therefore we pass along
search terms in addition to the application ID and set
things up so that we can go back to this search from
the details page.
GsApplication: Add an action to show a search result

An action is the preferred way to make functionality in
a GApplication available externally. In the future, this
action will be made available from the commandline in
the launcher.
Launcher: Add a commandline option to show details

With this commit, you can now call

  gnome-software --details firefox

to see the details page for firefox.