Rewrite extents() methods to work with the new internal query format. Debug filter() methods. All tests now pass.

* It turns out that every filter gets its extents() method called, which means the kwarg unpacking doesn't work out. Switch to passing in a normal hash.
* Redo extents() args so it takes only what it needs.
Fix parse error when query is utterly empty, and work around trilite hang when an extent-query arg is empty.

Also remove some comments that don't make sense to anyone but me and that will probably fall out of date.
Rename test_query, as it turned out to be tests for the parser only, not for any filters.