Make sure to call gs_profile_stop on error paths

... to ensure that gs_plugin_start() and gs_plugin_stop() calls are
always matched.

This should help with some of the profile spam reported in
https://bugzilla.gnome.org/show_bug.cgi?id=737822
appstream plugin: Plug a memory leak when refining addons
epiphany plugin: Plug a memory leak
search provider: Plug a GError leak
systemd updates plugin: Plug a leak when adding apps to the list of updates
Make search cancelling quicker

Sprinkle g_cancellable_set_error_if_cancelled() checks in search loops
to exit earlier if the search gets cancelled.

This should make find-as-you-type search more responsive.
Avoid flickering the spinner during find-as-you-type
GsSpinner: Avoid restarting animation when repeatedly calling start
Fix a typo in the Arabic translation