Channelised search

* unify concepts of "search" and "filter" 
* use reference cursors to clean up the client cljs a lot