RunerContext: Allow runners to update the query string

Before this was only possible when the match type is set to InformationalMatch.
This did not include the cursorPosition feature and the text needed to be specified
before the match is added.

To make sure the method can be called in AbstractRunner::run it is marked as const.

The usecase is a help functionality where the placeholder for the query should get focused
so that the user can overwrite it by typing: https://phabricator.kde.org/F10042697

CCBUG: 433636
2 jobs for !77 with work/set_query_string in 1 minute and 26 seconds (queued for 4 minutes and 53 seconds)
detached
Status Name Job ID Coverage
  Build
passed freebsd_qt515 #139474
FreeBSD

00:00:38

passed suse_tumbleweed_qt515 #139473
Linux

00:00:48