Use asynchronous REST client

This branch switches to an asynchronous REST client implementation for the count and find queries. It also uses the Refresher add-on which has a callback event whenever the client side refresh was triggered.

Together both features mean we don't need to use as much threading in QueryController as we used to.