Add an async API to QueryExecuter

This will be used by the future QueryEntry, lazy search, searches.
It avoids blocking the user interface while longer queries are
executing.

Change-Id: I5366a354c45a98c40f59de8b5925e2abc2b33e7f