Change craw.filter methods to allow their truth test functions to return promises
Add a js filter type
Add a coffee filter
Add basic querying