function makeAsyncProvider() {
            provider = jasmine.createSpy().andCallFake(function (query) {
                var promise = new $.Deferred();
                provider.futures.push(function () {
                    promise.resolve(mockResults[query || "<blank>"]);
                });
                return promise;
            });
            provider.futures = [];
        }
Sets provider to a function that returns Promises, and can be triggered to resolve them later with
results from mockResults, by calling finishAsync().