Specifically, I updated any sections of the code that were using the old
DBus interfaces (now deprecated in favor of GIO/GLib). This cascaded,
since Tracker's API has also changed, adding an explicit dependency. To
top it all off, Vala's syntax, too, has undergone changes, making it more
difficult to pass around multidimensional arrays and altering the way
casting is done.

* Refactor the query engine to use a single query with a limit of 1024 items. This can be extended to an async batch query.
* The GUI does no longer freezes on my system even if you get a full result set (1024).
* Strings with less than 3 characters do not get searched.
* The query is reduced to the minimal set of matadata that is needed to display the result.
* Reduce the coping of strings for search queries by copying it directly into the ListStore.
* Remove trailing whitespace.