Fix: dashboard filters broken after #252

Switched to using promises to know when QueryResults are ready. The current implementation is a bit crude,  but I didn't want to change all other uses of QueryResult. In the long run I think we should switch to using only promises -- will remove many watches and simplify the code in QueryView.

@amirnissim FYI.